PR(記事内にアフィリエイト広告が含まれています)
スポンサーリンク
Nucleus

サブカテゴリの並び順

当サイトのサイドバーのカテゴリ一覧は NP_ContentsList 2.0 を使って表示しているのですが、これってカテゴリは順序を設定して表示できるのですが、サブカテゴリについては自分で順序を設定できない仕様になっています。
どうにかならないかなぁと佐藤(な)さんに相談してたら、てっきり無限階層だけの機能なのかと思ってた NP_MultipleCategories0400 がサブカテゴリ並べ替えの機能が付いてたのでした。今は更に並べ替えが便利な0401j版があるとのことなので、今回はこっちを使わせていだたきました。
これで大丈夫だと思ってたのですが、管理画面でサブカテゴリ並べ替えはできても、サイト上での表示に対応してるプラグインが現時点では NP_Dtree05 しかないみたいです。NP_ContentsList をすでに自分仕様にいろいろ改造してますので、せっかくだからサブカテゴリ並び替えを反映させて表示させるように改造してみました。

$sres = sql_query("SELECT scatid as subcatid, sname as subname, sdesc as subdesc FROM ".sql_table('plug_multiple_categories_sub')." WHERE catid=".$catdata['catid']);
↓
$sres = sql_query("SELECT scatid as subcatid, sname as subname, sdesc as subdesc FROM ".sql_table('plug_multiple_categories_sub')." WHERE catid=".$catdata['catid']." ORDER BY ordid");

SQL文の一番最後にソートを追加してるわけですが、ソートに使ってる ordid って項目名は NP_MultipleCategories の4.00以降をアップグレードする時に追加されるテーブル項目ですので、バージョンが古い人は当然うまく作動しないから注意してください。

コメント

タイトルとURLをコピーしました