Movable Type プラグインディレクトリ

SQL

エントリー、コメントなどの一覧をSQLを使用して取得することができます。

制作者: Brad Choate / フリー
ダウンロードサイト: Brad Choate: SQL Plugin
http://www.bradchoate.com/weblog/2002/07/11/mtsql

タグおよびコード

<MTSQLEntries query="select entry_id from mt_entry where entry_title like '%Movable Type%'">
  <a href="<$MTEntryLink$>"><$MTEntryTitle$></a><br />
</MTSQLEntries>

インストール方法

  1. ダウンロードしたアーカイブを解凍します。
  2. 解凍して生成された「sql.pl」ファイルを、Movable Typeの「plugins」ディレクトリにアップロードします。
  3. 同じく生成された「sql.pm」をMovable Typeの「extlib」ディレクトリ内に「bradchoate」というディレクトリを作成し、そこにアップロードします。

使い方

標準の<MTEntries>や<MTComments>の代わりに<MTSQLEntries>や<MTSQLComments>などを使用することになります。アトリビュートが違う以外は使い方はほとんど変わりません。SQLプラグインは以下のタグを用意しています。

MTSQLEntries / MTSQLComments / MTSQLCategories / MTSQLPings / MTSQLAuthors

これらは標準のMTタグをSQLに対応させたものです。(※MTSQLAuthorsはMTAuthorsプラグインのSQL対応版)以下のアトリビュートに対応しています。

  • query
  • 実行するSQLを指定します。それぞれのID(※MTSQLEntriesの場合はentry_id)が一番最初の列として返ってくるようにSQLを指定する必要があります。SQLの中でMTタグを使用することもできます。その場合はタグを意味する<、>、$を除き&lt;&gt;で囲みます。たとえば<$MTEntryTitle$>は&lt;MTEntryTitle&gt;となります。

  • unfiltered="1"
  • 標準では、再構築中のブログのオブジェクトおよび公開中のエントリーのみがSQLの検索対象なのですが、unfiltered="1"を指定するとこれらの制限を取り除き、全てのオブジェクトが対象となります。

  • default
  • SQLの実行結果が空だった場合に表示する文字列を指定します。

<MTSQLEntries query="SELECT entry_id
  FROM
    mt_entry LEFT JOIN mt_placement
  ON
    entry_id = placement_entry_id
  WHERE
    entry_blog_id = &lt;MTBlogID&gt;
    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
  • 実行するSQLを指定します。

  • default
  • SQLの実行結果が空だった場合に表示する文字列を指定します。

MTSQLColumn

<MTSQLColumn>での結果を取得します。以下のアトリビュートに対応しています。

  • column="N"
  • N番目の列の値を取得します。最初の列が1番目となります。

  • format
  • 取得した値に対して、Perlのprintfのフォーマットを適用できます。

  • default
  • 値が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

このページのトップへ