dreamedge.net

mephistoでpaginationを使う

2008-08-19T14:31:00+0000

普通のブログサイトでは,古い記事が参照できるように「前の5日分」とかいうリンクが自動的に出るけど,設計思想の問題かmephistoのデフォルトではそういう機能がなかった.それではあまりに使いづらいのでいろいろ調べていた所,Paged Article Listsプラグインを発見.以下,そのインストール手順.

1. WillPaginate Liquidizedプラグインをインストール

$ script/plugin install http://svn.artweb-design.de/stuff/rails/will_paginate_liquidized/tags/will_paginate_r413/

解説ページには,別個にwill paginateプラグインをインストールしろとか,will paginateには古いのとchristmas 07バージョンがあって,それぞれに対応したやつをいれろとかぐちゃぐちゃ書いてある.(will paginate本家に行くとgemで入れろと書いてあってさらに混乱する)

が,Mephisto 0.8にはここで言うところの古いwill_paginateプラグインが入っているので,r413バージョンをいれれば万事OK.

2. Paged Article Listsプラグインをインストール

$ script/plugin install http://svn.artweb-design.de/stuff/mephisto/mephisto_paged_article_list

3. デザインテンプレートに設定する

基本的にarticlesが入るところならどこでもいいのだが,自分は_shared.liquidの末尾に,

{{ articles | link_to_prev_page: path_info, '« previous posts' }}
 |
{{ articles | link_to_next_page: path_info, 'next posts »' }}

と設定している.