Movable Type プラグインディレクトリ
SQL
エントリー、コメントなどの一覧をSQLを使用して取得することができます。
タグおよびコード
<MTSQLEntries query="select entry_id from mt_entry where entry_title like '%Movable Type%'"> <a href="<$MTEntryLink$>"><$MTEntryTitle$></a><br /> </MTSQLEntries>
インストール方法
- ダウンロードしたアーカイブを解凍します。
- 解凍して生成された「sql.pl」ファイルを、Movable Typeの「plugins」ディレクトリにアップロードします。
- 同じく生成された「sql.pm」をMovable Typeの「extlib」ディレクトリ内に「bradchoate」というディレクトリを作成し、そこにアップロードします。
使い方
標準の<MTEntries>や<MTComments>の代わりに<MTSQLEntries>や<MTSQLComments>などを使用することになります。アトリビュートが違う以外は使い方はほとんど変わりません。SQLプラグインは以下のタグを用意しています。
MTSQLEntries / MTSQLComments / MTSQLCategories / MTSQLPings / MTSQLAuthors
これらは標準のMTタグをSQLに対応させたものです。(※MTSQLAuthorsはMTAuthorsプラグインのSQL対応版)以下のアトリビュートに対応しています。
- query
- unfiltered="1"
- default
実行するSQLを指定します。それぞれのID(※MTSQLEntriesの場合はentry_id)が一番最初の列として返ってくるようにSQLを指定する必要があります。SQLの中でMTタグを使用することもできます。その場合はタグを意味する<、>、$を除き<>で囲みます。たとえば<$MTEntryTitle$>は<MTEntryTitle>となります。
標準では、再構築中のブログのオブジェクトおよび公開中のエントリーのみがSQLの検索対象なのですが、unfiltered="1"を指定するとこれらの制限を取り除き、全てのオブジェクトが対象となります。
SQLの実行結果が空だった場合に表示する文字列を指定します。
<MTSQLEntries query="SELECT entry_id
FROM
mt_entry LEFT JOIN mt_placement
ON
entry_id = placement_entry_id
WHERE
entry_blog_id = <MTBlogID>
AND placement_entry_id IS NULL
ORDER BY
entry_created_on DESC
LIMIT 10"
default="no entries">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
</MTSQLEntries>
この例では、どのカテゴリにも属していないエントリーの一覧を取得します。
MTSQL
データベースをSQLで検索します。結果は<MTSQLColumn>を使用して取得します。以下のアトリビュートに対応しています。
- query
- default
実行するSQLを指定します。
SQLの実行結果が空だった場合に表示する文字列を指定します。
MTSQLColumn
<MTSQLColumn>での結果を取得します。以下のアトリビュートに対応しています。
- column="N"
- format
- default
N番目の列の値を取得します。最初の列が1番目となります。
取得した値に対して、Perlのprintfのフォーマットを適用できます。
値がNULLだった場合に表示する文字列を指定します。
MTSQLHeader
<MTSQL>内のループで、一番最初の列の時のみ実行されます。
MTSQLFooter
<MTSQL>内のループで、一番最後の列の時のみ実行されます。
<MTSQL query="SELECT log_ip, log_created_on
FROM
mt_log
WHERE
log_message like 'Invalid login%'">
<MTSQLColumn column="1">から不正ログイン<br />
<MTSQLColumn column="2"><br />
</MTSQL>
カスタマイズ情報
特になし
その他付加情報
特になし
トラックバック
- トラックバック URL