Nucleus:プラグインの引数(パラメータ)にスキン変数やテンプレート変数を指定できない
Nucleus (35 items)
2004年06月29日
Nucleusプラグインの勉強という事で、
現在、簡単なプラグインを作成中です。
機能としては、
現状、当サイトは各記事タイトルの下にカテゴリー名を表示してますが、
(例:# Tips Of Nucleus)
そこに、各カテゴリー毎のアイテム数(記事件数)を表示させるものです。
完成したプラグインは、テンプレート変数的にテンプレート内に定義させるものにします。
(そもそもこの程度のテンプレート変数が標準で用意されてないとは。。)
似たようなプラグインで、
カテゴリー一覧に対して、アイテム数を表示させるものはあるようですが、
それだと当サイトのレイアウト(+Categories+ 欄)上、
アイテム数が増えた時に表示が崩れる恐れがありますので。。。
(例:# Tips Of Nucleus (10000 items) とか・・。しかし、そんなに書くか?)
で、まだ完成はしてないんですが、
その過程で気付いた表題の件についてのメモ。
現在、簡単なプラグインを作成中です。
機能としては、
現状、当サイトは各記事タイトルの下にカテゴリー名を表示してますが、
(例:# Tips Of Nucleus)
そこに、各カテゴリー毎のアイテム数(記事件数)を表示させるものです。
完成したプラグインは、テンプレート変数的にテンプレート内に定義させるものにします。
(そもそもこの程度のテンプレート変数が標準で用意されてないとは。。)
似たようなプラグインで、
カテゴリー一覧に対して、アイテム数を表示させるものはあるようですが、
それだと当サイトのレイアウト(+Categories+ 欄)上、
アイテム数が増えた時に表示が崩れる恐れがありますので。。。
(例:# Tips Of Nucleus (10000 items) とか・・。しかし、そんなに書くか?)
で、まだ完成はしてないんですが、
その過程で気付いた表題の件についてのメモ。
<スポンサードリンク>
カテゴリー毎のアイテム数を取得する為には、各カテゴリーのID(catid)が必要です。
ID自体はテンプレート変数「<%catid%>」で取得できます。
で、このIDを引数にもらって処理をするようなプラグインを作成。:NP_ItemCount.php
これをテンプレート内に、
と記述。
これがエラーとなりました。
結局のところ、構文エラーですね。
<%〜%>をネストして記述する事ができないというのは、
Nucleusの構造をよく考えてみたらわかる気がします。
他のプラグインを見ていても、
パラメータとして受け取っているのは、固定的な値のみですね。
(可変、すなわち変数は無い。というか、できない。。)
それらのパラメータは、プラグイン内部での判断材料、
つまり”フラグ”的な役割しかできない事になります。
そういう意味で、プラグインは”フラグイン”。(ダジャレ)
んー。
仕方ないと言えばそれまでですが、
あんま汎用的なパラメータではないですね。
しかし、まだNucleus初心者なんで、
この程度のプラグインを作らなくとも実現できるのかもです。
この記事内容も後々訂正するかもですが。。
一応、これはメモ書きです。。。
ID自体はテンプレート変数「<%catid%>」で取得できます。
で、このIDを引数にもらって処理をするようなプラグインを作成。:NP_ItemCount.php
これをテンプレート内に、
<%plugin(ItemCount,<%catid%>)%>
と記述。
これがエラーとなりました。
結局のところ、構文エラーですね。
<%〜%>をネストして記述する事ができないというのは、
Nucleusの構造をよく考えてみたらわかる気がします。
他のプラグインを見ていても、
パラメータとして受け取っているのは、固定的な値のみですね。
(可変、すなわち変数は無い。というか、できない。。)
それらのパラメータは、プラグイン内部での判断材料、
つまり”フラグ”的な役割しかできない事になります。
そういう意味で、プラグインは”フラグイン”。(ダジャレ)
んー。
仕方ないと言えばそれまでですが、
あんま汎用的なパラメータではないですね。
しかし、まだNucleus初心者なんで、
この程度のプラグインを作らなくとも実現できるのかもです。
この記事内容も後々訂正するかもですが。。
一応、これはメモ書きです。。。
<スポンサードリンク>
前の記事 次の記事
この記事に関連した過去記事一覧は画面下にあります。
Comments
ossi wrote:
プラグインは一応完成しました。http://www.res-system.com/w...
2004年06月30日 19時59分40秒
Add Comments
Trackback
トラックバックはありません
Trackback URL
http://www.res-system.com/weblog/action.php?action=plugin&name=TrackBack&tb_id=130