Nucleus:各カテゴリー毎のアイテム件数(記事投稿数)を返すテンプレート変数作成しました(プラグイン)
Nucleus (35 items)
2004年06月30日
当サイトの各記事タイトルの下に、
(例)”# Tips of ASP・VB・Excel (9 items)”
と表示されていますが、
この”(9 items)”の「9」を返すテンプレート変数、
つまり、
各カテゴリー毎のアイテム件数(記事投稿数)を返すテンプレート変数作成しました。
といっても、まだ試作品ですが。。
とにかく、この機能を持ったテンプレート変数が、
Nucleus標準では無い?ようなので、プラグイン勉強の意味も含めて作ってみました。
内容的には、かなり簡単な処理なんですが。。
このテンプレート変数(プラグイン)作成においては、
プラグインへのパラメータに変数を設定できない
("Tips Of Nucleus"前の記事参考)
事がわかりましたので、
必要な情報は、全てプラグイン側でDBから取得する形を取りました。
作成の際のキーワードとしては、
テンプレート変数のプラグインなんで、
”doTemplateVar(&$item)”メソッドを使用した事でしょうか。
(プラグイン一部内容)
(例)”# 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%>と書くと、件数(数字)のみが返却されます。
・とりあえず動くものを作った
・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%>と書くと、件数(数字)のみが返却されます。
前の記事 次の記事
