movabletype.jp
検索

テンプレートセットプラグインでのウィジェットセット登録

現在ベータテスト中の Movable Type 最新バージョンですが、次のベータバージョンより、これまで同梱プラグインとして提供されていたウィジェットマネージャがコアに統合されます。Movable Type の最新バージョンでは、管理方法も変更 されるなど、ウィジェット、ウィジェットセット周辺にもいくつかのアップデートがあります。

また、ウィジェットセットに関しては、テンプレートセットにもアップデートがあります。これまでは、テンプレート各々をどのような種類かで分類し登録できましたが、次のバージョンよりウィジェットセットの登録もできるようになります。

Movable Type 4.1 より追加されたテンプレートセット機能は、ブログで利用するテンプレートをプラグインで追加できます。プラグインは、単純にテンプレートセットを登録するだけなら yaml 形式で書くことができるほか、より様々な設定などを加えたいときは Perl で書いて提供できます。基本的な書式についてはドキュメントを参照ください。

今回はテンプレートセットプラグインでウィジェットセットを登録する方法を紹介します。

Perl でテンプレートセットプラグインを作成するときのウィジェットセット登録

Perl で作成するテンプレートセットプラグインで、ウィジェットセットを登録するフォーマットです。

'widgetset' => {
    'ウィジェットセットの登録名' => {
        order => 1000,
        label => 'ウィジェットセットの表示名',
        widgets => [
            'ウィジェットの登録表示名',
            'ウィジェットの登録表示名',
        ],
    },
},

2-column layout - Sidebar というウィジェットセットを登録するサンプルです。

'widgetset' => {
    '2column_layout_sidebar' => {
        order => 1000,
        label => '2-column layout - Sidebar',
        widgets => [
            'Search',
            'About This Page',
            'Home Page Widgets Group',
            'Archive Widgets Group',
            'Page Listing',
            'Syndication',
            'Powered By',
        ],
    },
},

YAML でテンプレートセットプラグインを作成するときのウィジェットセット登録

YAML で作成するテンプレートセットプラグインで、ウィジェットセットを登録するフォーマットです。

widgetset:
    ウィジェットセットの登録名:
    order: 1000
    label: ウィジェットセットの表示名
    widgets:
      - ウィジェットの登録表示名
      - ウィジェットの登録表示名
      - ウィジェットの登録表示名

2-column layout - Sidebar というウィジェットセットを登録するサンプルです。

widgetset:
  2column_layout_sidebar:
    order: 1000
    label: 2-column layout - Sidebar
    widgets:
      - Search
      - About This Page
      - Home Page Widgets Group
      - Archive Widgets Group
      - Page Listing
      - Syndication
      - Powered By

各ウィジェットは、リストのハッシュで記述します。また各々にある order は登録するウィジェットセットに含まれるウィジェットを、ウィジェットセットより先に登録するために Movable Type がテンプレートセットを読み込む順序を設定しています。

ウィジェットセットの登録ができるようになると、サイトデザインの納品、またはテンプレートセットを配布するとき、ユーザーにウィジェットの登録作業をさせなくても良くなります。また、ウィジェット単位のアップデートや、追加などが発生したときも、簡単に最新の環境を提供できるようになります。

シェアする

トラックバック