Skip to content
● Grav 2.2 is out: 2x faster cold starts and 96% less memory on big sites. Read the announcement →

User sorting date order on page collection

solved

Started by Matthew Appleton 8 years ago · 0 replies · 1101 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, 2 weeks ago
4 391 5 days ago
Themes & Styling · by johan thomas, 5 years ago
1 751 2 weeks ago
Themes & Styling · by stuart young, 2 months ago
3 609 2 months ago
Themes & Styling · by Sebadamus, 2 months ago
5 622 2 months ago
Themes & Styling · by martynfoster735, 2 months ago
1 595 2 months ago