Web Artisan Blog - ウェブ アルチザン ブログ

Nucleus:各カテゴリー毎のアイテム件数(記事投稿数)を返すテンプレート変数作成しました(プラグイン)

Nucleus (35 items)

2004年06月30日

Research Artisan Pro ←リサーチアルチザンがパワーアップして復活しました!!
当サイトの各記事タイトルの下に、
(例)”# Tips of ASP・VB・Excel (9 items)”
と表示されていますが、
この”(9 items)”の「9」を返すテンプレート変数、
つまり、
各カテゴリー毎のアイテム件数(記事投稿数)を返すテンプレート変数作成しました。

といっても、まだ試作品ですが。。


とにかく、この機能を持ったテンプレート変数が、
Nucleus標準では無い?ようなので、プラグイン勉強の意味も含めて作ってみました。
内容的には、かなり簡単な処理なんですが。。

このテンプレート変数(プラグイン)作成においては、
プラグインへのパラメータに変数を設定できない
("Tips Of Nucleus"前の記事参考)
事がわかりましたので、
必要な情報は、全てプラグイン側でDBから取得する形を取りました。

作成の際のキーワードとしては、
テンプレート変数のプラグインなんで、
”doTemplateVar(&$item)”メソッドを使用した事でしょうか。

(プラグイン一部内容)

 function doTemplateVar(&$item) {
  $curItem = $item->itemid;


試作品の理由ですが、
・とりあえず動くものを作った
・SQLのパフォーマンスが気になってる
というあたりです。

ソース的にも正確な組み型してるのかという、PGならではの不安もあります。
SQLも2回発行していますが、”副問合せ”で1回でもいいところです。

また、考えてみると、
SQL2回発行ですが、これは各記事毎に2回なんで、
当サイトは”メインの目次ページ”に記事数が10件、
という事は、このプラグインだけでも”2×10=20回”SQL発行している事になります。

まあ、Nucleusプラグインでは、
SQL発行の度に、DBをOPENしにいってるわけではないので、
そんなに負荷かからないかも知れませんが、
(MySQLもあんまわかってません。。)
しかし、このプラグイン以外でも、
Nucleus標準機能が、SQLを何回も発行しているはずですし、
「TOTALして、1回のページ表示で何回SQL発行してんねん!」
という所は非常に気になります。
でも、このプラグイン組み込んでも、
今のところ、ページ表示が遅い等の不具合はないんで、
これはまさに、
PHPとMySQLのパフォーマンス、それを活かしたNucleusの構造ってスゲー
ってところでしょうか。。。

>>ダウンロード<<

(使用方法)
テンプレートの編集で、
<%ItemCount%>と書くと、件数(数字)のみが返却されます。



前の記事 次の記事

Comments

Z10 wrote:

かなり私が欲しい機能に近いです。ん、違うのかなぁ。
「変数の中に変数」、これができれば複数行にわたるIF条件分岐式が1行で済ませちゃえるんですけどね。
2005年12月01日 21時47分46秒

Add Comments

Trackback

トラックバックはありません

Trackback URL

http://www.res-system.com/weblog/action.php?action=plugin&name=TrackBack&tb_id=132