NP_MultipleCategories関連
- カテゴリ: NucleusCMS
- 投稿日時: 2015/02/22(日) 22:06:01
だいぶ前の話ですが、NucleusCMSをv3.64からv3.65にアップグレードした時、Multiple Categoriesの不具合がありました。フォーラムで質問してプラグインを修正、事なきを得ました。
http://japan.nucleuscms.org/forum/viewtopic.php?pid=29648#p29648
それはそれでよかったのですが、その後どうも挙動がおかしい。アイテムの追加、いわゆる記事の新規投稿の際、追加プラグインオプションのカテゴリ/サブカテゴリ選択画面で、特定のカテゴリとサブカテゴリがはじめっから選択されていると。ちなみにボルティーのリアサスでした。
選択されているチェックボックスを解除して、投稿したいカテゴリを選択しなおせば普通に投稿できていたので、まあこんなものかと放置していました。
で、ツイッターにポストするプラグインをつくったりして、NucleusCMSのプラグインがちょっとわかるようなってきたのを機に、このMultipleCategoriesの問題に対処してみようと思い立ちましたよ。あー「プラグインがちょっとわかるようなってきた」とはいっても細かいことはまだまだです。そもそもPHPがよくわかってませんからね。
NP_MultipleCategoriesは「Multiple Categories [Custom Edition]バージョン0.5.1j-lm1」ってのを使ってます。入手先は忘れました。
ソースを開きアイテムの投稿時に呼ばれるイベント AddItemFormExtras を探し、チェックボックスにcheckedと差し込んでいる条件を追って行きます。新規投稿なのでitemidはカラのはず。WHRER句にカラ文字を指定すれば戻り値はないはずだけど、データベースからなにか返ってきてる? てな感じです。phpMyAdminでクエリ発行してみて確認。
で、わかりました。MultipleCategoriesのテーブルにありえないデータがありました。
上記の不具合の時に書き込まれたんでしょうね。該当カラムを削除。問題は解決しました。
で、ついでなのでちょっと改造。
アイテムの追加画面で、カテゴリ/サブカテゴリをチェックする部分の表示が無駄にスペースを食っていてやな感じでした。無限階層版なのでカテゴリもサブカテゴリもずらっと縦に並べていくしかないのは良くわかりますが、サブカテゴリ、うちは一階層までしか使ってません。右側に大きく開いている空白スペースがもったいない。
なのでサブカテゴリは横に並べることにし、全部横一列だとそれはそれで見栄えがダメだったのでマス目状に配置しました。
インラインフレームライクなスクロールボックスも、ガワをスクロールしているときに表示が引っかかってイラっとしてたので、div要素の height: 300px;overflow: auto; を消しちゃいました。
PHPが吐き出しているHTMLとスタイルシートの書き換えだけだったのでサクっと完了。
なんだかとっても達成感が得られました。
プリンタのシートフィーダのフタのヒンジが割れてたので、手元にあった3mm丸プラ棒で修理したんですが、目につく不具合が解消されてうまく動くようになるっていう点で、物理的な物体でもプログラムでも、得られる感覚は同じだなぁ、なんて思った一日でした。
【2015.2.25追記】
改造がうまくったのに気を良くして、NP_Contentslistと連携するようにしましたよ。
NP_Contentslistはプログやカテゴリの表示順番を設定できるプラグインです。MultipleCategories無限階層版はサブカテゴリの表示順番を設定できますが、もともとの標準カテゴリの順番は変えられません。アイテムの投稿画面に表示されるカテゴリの順番を、Contentslistのテーブルを参照して表示するようにしました。Contentslistがインストールされていなければ従来通りです。
その過程で、Contentslistのテーブルに入っていたおかしなカラムを削除しました。これがいつ入ったものかは不明ですが、たぶんだいぶ前、このブログを始めたころのものでしょうね。
アイテムの投稿、とても快適になりました。
コメント
この記事へのコメントはありません