カテゴリごとに記事リストを出したくなったので、最初は NP_TitleList を改修しようかと考えてたんですが、そういう用途のプラグインが実は最初からありましたね。
plugins:archiveindex [Nucleus CMS Japan Wiki]
解説が充実してるので、特に問題なく使えました。
一点だけ注意するのは、CSS設定例を有効化するにはスキンで “archiveindex” というクラスで囲っておく必要がある点でしょうか。
スキン記載例 <div class="archiveindex"> <%ArchiveIndex%> </div>
毎回スキンに書くのもちょっと面倒なので、オプション設定に入れ込んで、スキン上ではクラス指定をやめました。
オプション設定例 Template: List (begin) <div class="archiveindex"><table><thead title="%catdesc%"><th><a href="%caturl%">%catname%</a></th><th></th></thead><tbody> Template: List (end) </tbody></table></div>
幾つか個人的な用途にあわせて、改造を行いました。
(1)cdesc(カテゴリの説明)でカテゴリをソート
378行付近の //sort by category の else 文 else { //20180306_takehana_upd_s //ksort($arr_out); $query = 'SELECT catid FROM '. sql_table('category') .' WHERE cblog='.$blogid.' ORDER BY cdesc ASC'; $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 = ''; //20180306_takehana_upd_e }
(2)カテゴリ名クリックでアーカイブリストではなくカテゴリリンクにする
// buffer category nameの下、255行目付近 //20180307_takehana_upd_s //$arclist_link = createArchiveListLink($blogid, $extra); $arclist_link = createCategoryLink($icat); //20180307_takehana_upd_e
(3)Moreをアーカイブリストではなくカテゴリリンクにする
// category description with more link の下、317行目付近 $extra = array('catid' => $icat); //20180307_takehana_upd_s //$arclist_link = '<a href="'. createArchiveListLink($blogid, $extra) .'">» More</a>'; $arclist_link = '<a href="'. createCategoryLink($icat) .'">» More</a>'; //20180307_takehana_upd_e
(4)カテゴリ未選択時でも、個別記事をカテゴリ選択状態にする
//buffer item titleの下、271行目付近 //20180307_takehana_add_s if(strpos($itemlink,'&catid=') === false){ $itemlink = $itemlink . "&catid=" . $icat; } //20180307_takehana_add_e $idetail = $list_item[$inumber]['idetail'];
(5)Back to index をアーカイブリストではなくトップ移動にする
and make 'all category link'の下、376行目付近 //20180307_takehana_upd_s //$arclist_link = '<a href="'. createArchiveListLink($blogid) .'">» Back to index</a>'; $arclist_link = '<a href="'. createBlogidLink($blogid) .'">» Back to Home</a>'; //20180307_takehana_upd_e
これで希望する挙動になったので満足しました。
コメント