[paidaccount][generator] Reversing the order of the entries

Jan 17, 2005 14:56


Paid Accounts Only The following tutorial requires creating and editing a custom style, which in turn requires a paid, permanent, or early adopter account. Please read What are the paid account benefits? and How do I buy a paid account? to learn about the paid account benefits and how to buy a paid account.
This tutorial describes a simple method for reversing the order of entries on your Recent Entries page, changing them from reverse-chronological to chronological, and reversing the entries on your Friends page, changing them to the order in which they were posted to LiveJournal servers, in the Generator layout. This will only reverse the order of entries on each page - navigation will still work in reverse-chronological order.

This tutorial will replace the function RecentPage::print_body and or FriendsPage::print_body. This new code will be placed in a theme layer. If you already have a theme layer for this style, you can simply edit it. Otherwise, you need to create one as explained in the Theme Layer tutorial.

You will need to copy the following code into your theme layer, making sure to include everything:

function RecentPage::print_body () { foreach var Entry e (reverse $.entries) { $this->print_entry($e); } var string range = "most recent entries"; if ($.nav.skip > 0) { $range = "$.nav.skip entries back"; } """ navigation [ viewing | $range ] """; # go forward/backward if possible if ($.nav.forward_url != "" or $.nav.backward_url != "") { var string sep; var string back; var string forward; if ($.nav.backward_url != "") { $back = """ earlier"""; } if ($.nav.forward_url != "") { $forward = """ later"""; } if ($back != "" and $forward != "") { $sep = "/"; } """ [ go | $back$sep$forward ] """; } ""; }
The word "reverse" in orange changes the order of the entries.

Note that the above code will reverse the order of the entries on both your Recent Entries page and your Friends page. If you want to reverse the order of entries on your Friends page only, you will need to change the word RecentPage (in green) to FriendsPage in the preceding block of code. Conversely, if you don't want the above code to affect your Friends page in this way, you will also need to add the following block of code, again making sure to include everything:

function FriendsPage::print_body () { foreach var Entry e ($.entries) { $this->print_entry($e); } var string range = "most recent entries"; if ($.nav.skip > 0) { $range = "$.nav.skip entries back"; } """ navigation [ viewing | $range ] """; # go forward/backward if possible if ($.nav.forward_url != "" or $.nav.backward_url != "") { var string sep; var string back; var string forward; if ($.nav.backward_url != "") { $back = """ earlier"""; } if ($.nav.forward_url != "") { $forward = """ later"""; } if ($back != "" and $forward != "") { $sep = "/"; } """ [ go | $back$sep$forward ] """; } ""; }
Note the absence of the word "reverse" and that this time the method "print_body" is called from "FriendsPage" rather than "RecentPage".

Compile your layer, and it's ready to use. You will need to apply your theme layer via the Customize interface in order for your changes to take effect.

Additional References What are the different S2 layer types?
S2 View Types
Originally written by tripacerdriver for Tabular Indent, with elements borrowed from a previous tutorial by gamble. Adapted for Generator by camomiletea. Simplified and reworded in spots by pauamma.

entry order, chronological order, order of entries, paid accounts only, reversing entry order, - generator

Previous post Next post
Up