Skip to content
● Critical PHP security fixes are out: update PHP on your Grav sites. What to do →

User sorting date order on page collection

solved

Started by Matthew Appleton 8 years ago · 0 replies · 1174 views
8 years ago

Just wanted to post this little trick which might be useful for people building a blog where they want to allow the user to sort post order.

— in this case reverse the date order... this is courtesy of @OleVik and his inspiration (Project Space skeleton) and @Ricardo (found on Discord) ...

First thing: set the page collection order for the 'parent' page in the page, in this instance @Ricardo suggested a way to extract the date parameter...

TWIG
{% set date_order = uri.params('date')|split(':')|last %}
{% set ordered_collection = page.collection.order('date', date_order|defined('desc')) %}

then, again thanks to @Ricardo we can toggle the date order like so:

TWIG
{% if date_order is sameas('asc') %}
                    {% set toggle = 'desc' %}
                    {% else %}
                    {% set toggle = 'asc ' %}
                    {% endif %}

                    <a class="btn" href="{{ base_url }}/my-page/date:{{toggle}}">REVERSE DATE ORDER</a>
👍 2

Suggested topics

Topic Participants Replies Views Activity
Themes & Styling · by FrViPofm, 1 month ago
4 556 4 weeks ago
Themes & Styling · by johan thomas, 5 years ago
1 871 1 month ago
Themes & Styling · by stuart young, 3 months ago
3 731 2 months ago
Themes & Styling · by Sebadamus, 3 months ago
5 751 3 months ago
Themes & Styling · by martynfoster735, 3 months ago
1 701 3 months ago