ZAPAnet総合情報局 > ZAPAブログ2.0 > ブログに人気記事を表示

ブログに人気記事を表示

2006年08月23日 ブログ全般
サイドバーに「最近一週間の人気記事」を表示してみました。
このブログで最近どんな記事が読まれたのかがランキング形式でわかります。

Nucleusのブログに人気記事を表示するのは簡単です。
「NP_View」というプラグインをインストールするだけです。

「NP_View」最新版をダウンロード

まずは、Nucleus(JP)フォーラム :: トピックを表示 - NP_View(人気記事プラグイン)
から「NP_View」最新版をダウンロードします。

自分のNucleusにインストール

ダウンロードした「NP_View」をサーバーにアップロードして、自分のNucleusにインストールします。
自動的にデータベースも作ってくれるのでインストールするだけでOKです。

カウント用タグを記述

次に、「個別アイテムページ」のスキンに、
<%View%>
と記述して(<body>タグの下辺りが良いらしいです)、個別アイテムページにアクセスがあったときに自動的にカウントできるようにします。

表示用テンプレートを作成

表示用のテンプレートを作成します。
例えば、新規テンプレートを作成してアイテムの本体に
<a href="<%itemlink%>" title="<%title%>"><%title%></a> (<%View%>pt)<br>
と記述します。

表示用タグを記述

最後に、「メインの目次ページ」のスキンに、
<%View(作ったテンプレート,10,week,all,,0/a)%>
と記述すば完成です。
この場合は、一週間の人気記事10件を表示する書き方です。
他にもいろいろと表示方法を変えることができます。

自分のブログ専用のカスタマイズ

自分の場合はサイドバーに人気記事を表示したかったので、「sidebar.inc」に直接記述しました。
また、自動的にランキング順位を表示したかったため、いろいろと改造しました。

NP_View.phpの改造(ソースの一番下の方)
echo "\n".'<'.$this -> getOption('box_format').' class="viewbody">'."\n<ol>\n";
$blog -> showUsingQuery($template, $query, 0, 1, 1);
echo "</ol>\n".'</'.$this -> getOption('box_format').'>';

表示用のテンプレート
<li><a href="<%itemlink%>/catid/<%catid%>" title="<%title%>"><%title%></a> (<%View(week)%>pt)</li>

これで、<ol>タグと<li>タグが自動的に挿入されるため、記事リンクの前に自動的に数字が振られることになります。(場合によっては、CSSも編集)

さらに、プラグイン管理からOptions for NP_Viewで、
9. Last day format. (*ex. Y-m-d ) →→→ m月d日
と設定して、最近一週間の期間を日付で表示するようにしました。



この記事を投稿する直前での一番人気は、
上村愛子さんのブログと亀田興毅
みたいです。
ランダエタとの再戦が楽しみですね。