The S2 HowTo Journal

Tips, Tricks, and Tutorials for Basic S2 Customization

Previous Entry Share Next Entry
[paidaccount][magazine, punquin, tabular indent] Reversing the order of the entries
howto_user wrote in s2howto
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, under Magazine, Punquin Elegant, or Tabular Indent. This will only reverse the order of entries on each page — navigation will still work in reverse-chronological order. Additionally, this tutorial explains how to reverse the entries on your Friends page, changing them to the order in which they were posted to LiveJournal servers, in the same layouts. Similarly, the navigation will still work in the reverse 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 layout, 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) {
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); } }

The code in orange changes the order of the entries.

The above code will change the order of the entries on your Recent Entries page only. If you wish to have this effect on your Friends page (alone or together with your Recent Entries page), you will need to copy and paste the following code:

function FriendsPage::print_body() {
    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); } }

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.

Originally written by skywhisperer with elements borrowed from a previous tutorial by gamble. Re-written by camomiletea. Simplified and reworded in spots by pauamma.


Comments Disabled:

Comments have been disabled for this post.

?

Log in

No account? Create an account