プラグイン「NP_ArchiveIndex」をインストール

あにょのブログの記事数が多くなってきたので、カテゴリー別に一覧表示できるようにしました。前は記事の一覧表示させるのに「NP_Title List」を入れてたんですが、「NP_ArchiveIndex」に変更しました。
「NP_ArchiveIndex」はアーカイブ一覧画面に、カテゴリー別に記事一覧を分かりやすく表示する為のプラグインです。
プラグインをインストールしたら、アーカイブ一覧画面にカテゴリー別に記事の一覧を作成するため、スキンにプラグイン変数を記述します。
■スキンへの記述
スキン編集から「月別アーカイブ一覧ページ」の表示させたいところに記述
第1パラメータはインデックス(全カテゴリー表示時)のカテゴリー別記事数、第2パラメータはカテゴリー別表示時の一覧記事数、第3はカテゴリー詳細文の表示、非表示です。

<%archivelist(mtemplate)%>
↓
<%ArchiveIndex(10,50,none)%>

■スタイルシートに追記

/*-------------------------------------------------
NP_ArchiveIndex
-------------------------------------------------*/
.archiveindex table { /*テーブルのスタイル指定*/
width: 70%;
margin: 1em 0 2em;
padding: 0;
border-collapse: collapse;
};
.archiveindex th { /*カテゴリー名*/
margin: 0;
padding: 2px 5px;
text-align: left;
};
.archiveindex tr.more { /*Moreリンク行*/
background: none;
font-size: small;
}
.archiveindex td { /*セル表示のスタイル指定*/
margin: 0;
padding: 2px 5px;
border-top: 1px dotted gray;
text-align: left;
vertical-align: top;
}
.archiveindex td.detail { /*日付表示セル*/
white-space: nowrap;
text-align: right;
}
.archiveindex td span.title{ /*記事タイトル*/
}
.archiveindex td span.title-up { /*更新された記事*/
color: red;
}
.archiveindex td span.catdesc { /*カテゴリー詳細*/
font-size: small;
color: gray;
}
.archiveindex td span.nomore { /*Moreリンク無効*/
color: #ccc;
}

■NP_ArchiveIndex.phpの編集
カテゴリーの名前の前に<00>、<01>等の数字を入力して、順番を自由に設定できるようにしてますので、その数字を表示させないように変更します。

255行目
$icatName = $b->getCategoryName($icat);
↓
$icatName = strip_tags($b->getCategoryName($icat));

NP_ArchiveIndexはカテゴリーの順番をNP_ContentsListを使って並べ替えするような仕様になってますが、当ブログではNP_ContentsListを使ってないのでうまく並べ替えされません。そこで、新着記事順にカテゴリーも並べ替えされるようにsort by categoryの部分をコメントアウトします。

378行目~396行目をコメントアウト
/*	//sort by category
if ($manager->pluginInstalled('NP_ContentsList')) {
$plugin =& $manager->getPlugin('NP_ContentsList');
if ($plugin) {
$query = 'SELECT rid as catid FROM '. sql_table('plug_contentslist_rank') .' WHERE blog=0 AND rank<20 ORDER BY rank ASC'; // you can delete 'AND rank<20'
$cl_res = sql_query($query);
$arr_out2 = $arr_out;
$arr_out = array();
while ($clrank = mysql_fetch_object($cl_res)) {
$icatName = $b->getCategoryName($clrank->catid);
$arr_out[] = $arr_out2[$icatName];
}
$arr_out2 = '';
}
}
else {
ksort($arr_out);
}*/

■オプション設定
カテゴリーの名前をオレンジ色に変更しました。

<table><thead title="%catdesc%"><tr><th><a href="%caturl%">%catname%</a></th><th></th></tr></thead><tbody>
       ↓
<table><thead title="%catdesc%"><tr><th><a href="%caturl%"><span style="color: #FF6600;">%catname%</span></a></th><th></th></tr></thead><tbody>