2004-08-19 Thu
こんな工夫をしなくてもいいようにプラグインが作成されたようです。素晴らしいですね。
この記事は随分前に書いたものなので、現在の当サイトの環境とはかなり違うことになっております。ご了承ください。
当サイトのほとんどの来訪者は検索エンジン経由ということもあり、Top ページ以外から来る人が圧倒的に多いです。なので僕は MT の頃から、Top ページを含む全てのページを可能な限り同じ様にデザインしていました。で、せっかく来てくれた人にはやはり出来るだけ記事を読んでもらいたいので、いろいろプラグインを入れたり、おすすめの書籍なんかをランダム表示させています。そういった類いのもっとも基本的な機能である「最新の記事表示」をするのに、Nucleus は意外に苦労させられます。
最新の記事自体を表示させるのは簡単で、新たなテンプレートを作って、そこのアイテムの本体にそれ用の記述をするわけです。当サイトの場合は次の方法で実現しています。
まず「headline」というテンプレートを作成します。作成した「headline」テンプレートの「アイテムの本体」を次のように記述します。
<li>★ <a href="<%blogurl%>item_<%itemid%>.html"><%title%></a></li>
あとはこれをスキンで呼び出すだけです。
<ul class="HFrecententrylist"> <%blog(headlines,20)%> </ul>
これだけです。ほんと簡単。
「headleine」に記述しているのは上記の「アイテムの本体」のみ。ここはその名のとおり記事の本体をどう表示させるかを決定するテンプレートです。そのテンプレートを使用して、最新のアイテムから 20 個目のアイテムを表示させています。テンプレートに使用している変数の意味はそれぞれこうなります。
当サイトは各アイテムの個別ページの URL を mod_rewrite を利用しているので、デフォルトの URI とは記述が異なります。(mod_rewrite の記述方法は「Nucleus - Tips and suggestions」を参考にしました。)
ところが、カテゴリー一覧ページに行くと愕然とします。うまく説明出来ないのですが、カテゴリー一覧へのリンクをクリックされると、Nucleus は「メインの目次ページ」のスキンを使って、画面を表示しているようです。そしてそのとき、選択されているカテゴリーのみを抽出しているようです。で、その仕組みがわかったのはいいですが、このままだとそのカテゴリーのみの最新 20 アイテムしか表示されないのです。これは人それぞれ考え方があるでしょうが、僕には我慢なりませんでした。で、困り果てていたのですが、「Nitram+Nunca」のタカジロウさんに教えてもらったプラグイン「NP_MultiBlogs」で解決出来ました。詳細はリンク先も説明をご覧になられた方がわかりやすいと思います。とにかくこれをインストールすると、「<%MultiBlogs%>」という変数を使えるようになります。オプションの指定が細かく出来るのですが、当サイトは先程の記述の代わりにこうしています。
<ul class="HFrecententrylist"> <%MultiBlogs(headlines,20,1)%> </ul>
これは、「headline」というテンプレートを使って、ブログ ID 1 番の最新の 20 アイテムを表示しなさい、という意味になります。カテゴリーが選択されていてもいなくても関係なく。というわけでめでたく常にどのページを見ても、Heartfield の最新 20 アイテムが表示されるようになりました。
というわけで「Nucleusの使い方」の jun さん、素晴らしプラグインをどうもありがとうございます。
« Old 2004-08-17
MT から Nucleus へ
2004-08-22 New »
全ての記事タイトルにアイコンを