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

Jan 17, 2005 15:05


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 Classic 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 () { var string nav = ""; if ($.nav.forward_url != "" or $.nav.backward_url != "") { if ($.nav.backward_url != "") { $nav = " << Previous $.nav.backward_count entries"; } if ($.nav.backward_url != "" and $.nav.forward_url != "") { $nav = "$nav --"; } if ($.nav.forward_url != "") { $nav = "$nav Next $.nav.forward_count entries >>"; } $nav = "
[$nav]
"; } if ($nav != "") { print $nav; } "\n"; foreach var Entry e (reverse $.entries) {
if ($e.end_day) { $e.end_day = false; $e.new_day = true; } elseif ($e.new_day) { $e.new_day = false; $e.end_day = true; } $this->print_entry($e); } "\n"; if ($nav != "") { print $nav; } }
The code 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 () { var string nav = ""; if ($.nav.forward_url != "" or $.nav.backward_url != "") { if ($.nav.backward_url != "") { $nav = " << Previous $.nav.backward_count entries"; } if ($.nav.backward_url != "" and $.nav.forward_url != "") { $nav = "$nav --"; } if ($.nav.forward_url != "") { $nav = "$nav Next $.nav.forward_count entries >>"; } $nav = "
[$nav]
"; } if ($nav != "") { print $nav; } "\n"; foreach var Entry e ($.entries) { $this->print_entry($e); } "\n"; if ($nav != "") { print $nav; } }
Note the absence of the code that was in orange in the first block, 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 skywhisperer for Tabular Indent, with elements borrowed from a previous tutorial by gamble. Adapted for Classic by camomiletea. Simplified and reworded in spots by pauamma.

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

Previous post Next post
Up