<%Dewplayer(javascript)%> 肉少なめ | Item - NP_SQLItem

NP_SQLItem

Title :
NP_SQLItem
Posted on :
2008-06-05
Author :
NKJG
Category :
プラグイン
Hatena Star :

本文

作者の力量不足により不具合・脆弱性を内包している可能性があります。特に最新バージョン以外のものには不具合が内包されている可能性が高くなっております。使用する際は以上を考慮の上でご使用ください。また、公式wikiへの転載はご遠慮ください。

SQLを利用してアイテムを表示するプラグインです。

注意

このプラグインは未テストです。

スキンを編集できるユーザーはこのプラグインを通じて任意のSQLを実行することができます。

ダウンロード

NP_SQLItem v0.0.0 (zip)

インストール

ダウンロードしたアーカイヴを展開して、Nucleusのpluginsディレクトリに放り込んで管理画面からインストールしてください。

使用法

プラグインオプションは存在しません。すべての指定はスキン変数で行います。

スキン変数<%SQLItem%>では4種類のパラメータが有効です。それぞれの登場順は固定になっています。

<%SQLItem%>のパラメータ (登場順)
名前説明
記述意味
テンプレート名 アイテムの表示に用いるテンプレート名です。省略不可。 default/index "default/index"というテンプレートを使用します。
最大表示件数/オフセット 最大で何個のアイテムを表示するかの設定を数字で行います。表示件数の後にカッコつきで数字を指定すると、それはオフセットの指定として扱われます。省略可。省略した場合、最大表示件数は10件です。 10(5) 最大表示件数は10件。オフセットは5件。
フラグ さまざまな設定を行います。詳しくは後述します。省略可。 (後述) (後述)
SQL 表示するアイテムIDを指定するSQLを指定します。アイテムIDが一番最初の列として返ってくる必要があります。詳しくは後述します。省略不可。 (後述) (後述)

SQLの指定

表示するアイテムはSQLで指定します。指定されたSQLは実行前に以下のルールに従って変換されます。

  1. SQL中のコンマ(,)が", "に置換されます。
  2. "{{{"と"}}}"で挟まれた部分が数値に変換されます。
  3. "$$$"で挟まれた部分をテーブル名と判断し、SQLプリフィックスが付加されます。
  4. "@@@"で挟まれた部分にmysql_real_escape_stringまたはmysql_escape_stringが適用されます。
SELECT i.inumber FROM $$$item$$$ AS i WHERE (i.inumber % 10) = 0

のようにテーブル名を"$$$"で囲むことによってSQLプリフィックスを意識せずにSQLを記述することができます。

アイテムの表示順もこのSQLの実行結果に依存します。

フラグの指定

現在6個のフラグが用意されています。フラグには対応する文字があり、それを記述すればフラグが有効に、しなければ無効になります。

フラグ一覧
文字効果
bブログ絞込みです。ブログに対応したページが表示されている場合、アイテムの所属ブログによる絞込みを行います。
cカテゴリ絞込みです。カテゴリに対応したページが表示されている場合、アイテムの所属カテゴリによる絞込みを行います。
dドラフト表示許可です。
f未来の日付で投稿されているアイテムに対する表示許可です。
oSQLの結果順ではなく、アイテムの投稿日時順でソートします。
rソートの順序を逆にします。

記述例

<%SQLItem(default/index, SELECT i.inumber FROM $$$item$$$ AS i, $$$category$$$ AS c WHERE i.icat = c.catid AND c.cname LIKE 'Nucleus%' ORDER BY i.ititle)%>

省略可能な件数・フラグを省略しています。