Movable Type 備忘録

 Config Assistant プラグイン

こんばんわ^^

The blog of H.Fujimoto さんとこで、ブログ単位( システム全体も可 )で有効な、ONLY ONE なテンプレートタグを追加することができるプラグインが紹介されてました。

以前わたしのサイトでも ONLY ONE な環境変数の定義の仕方をご紹介したことがあります。

そこでちょろっとだけテンプレートタグの定義の仕方について触れてますが、実装するにはちょとプラグインの知識が必要でした。
でも、Config Assistant プラグインを使えば同様のことが可能になります。すっごく便利だと思います ( ̄∇ ̄)b

わたしのサイトではテンプレートセット内に ONLY ONE なテンプレートタグを実装してるわけですが、プラグイン画面で設定した値によって再構築時の動作を替えるようなことやってます。

定義できるテンプレートタグは、各ブログで共通なコンフィグを定義するといいかもです。
使い方はカンタンです。The blog of H.Fujimoto さんとこで配布されてるサンプル YAML をちょと解析しちゃいました。

config.yaml / 7 行目

  1. settings:
  2. blog_keyword:
  3. scope: blog
  4. blog_use_keyword:
  5. default: 1
  6. scope: blog
  7. blog_stylesheet:
  8. scope: blog
  9. blog_text:
  10. scope: blog
  11. plugin_config:
  12. SampleBlogConfig:
  13. fieldset:
  14. blog_keyword:
  15. type: text
  16. label: "ブログのキーワード"
  17. hint: "ブログのキーワードを入力します。"
  18. tag: "BlogKeyword"
  19. blog_use_keyword:
  20. type: checkbox
  21. label: "ブログのキーワードを使う"
  22. tag: "BlogIfUseKeyword?"
  23. blog_stylesheet:
  24. type: select
  25. label: "ブログのスタイルシート"
  26. values: styles1.css,styles2.css,styles3.css
  27. tag: "BlogStylesheet"
  28. blog_text:
  29. type: textarea
  30. label: "ブログについての何らかのテキスト"
  31. tag: "BlogText"
  32. rows: 10

青字の部分が ONLY ONE なテンプレートタグを定義してるセクションになります。
scop にはテンプレートタグの適用範囲を指定します。選択肢は以下の通りです。

  • blog: ブログ内で有効
  • system: システム全体で有効

赤字の部分はプラグイン画面に表示する、フォームの内容( 追加するコンフィグの内容 )を定義します。

緑字の部分を必ず setting セクションと plugin_config セクション内で対にする必要があります。

type にはフォームに表示するタグ名を入力します。選択肢は以下の通りです。

  • text: 1 行入力テキスト
  • checkbox: チェックボックス
  • select: ドロップダウンリスト
    select を指定した場合に限り、values にて各リスト名をカンマ「 ,」区切りで指定します。
  • textarea: 複数行入力テキスト
    textarea を指定した場合に限り、rows にて入力行数を指定します。

label には項目の名称を入力します。
hint は必要に応じて補足説明を入れられるようですね。

tag には入力した値を参照する為の、ONLY ONE なテンプレートタグ名称を指定します。
使い方は通例のように先頭に MT または mt: をつけることで使用可能になります。

というような内容が以下のページの中ほどにある README.TXT で説明されてます。

最後に config.yaml 内の 3 行目にある name にお好きな半角英数字の名称をつければプラグイン名称としてプラグイン一覧に表示されます。
以上です。

カンタンにオリジナルのテンプレートタグが作れるので便利そうですね (●´∀`●)
注意することは YAML で記述するにはタブを使ってはいけません。面倒でも必ずスペースを使ってください。
タブでインデントをつけたりするとエラーの原因の 1 つになります。

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

 

コメント用フィード