デフォルト Widget を作る

さて、このサイトは Widget Manager を使って構成しております。
さすがに楽ですわ。

Widget Manager に移行するにあたって、デフォルトの Widget を多数追加しました。
モジュールに一つずつ追加してもいいんですけど、デフォルトに追加してしまえば一発で登録できるから非常に楽です。
また、複数のブログにもすぐに登録できてしまいます。

折角なので、その方法を書いておきます。

1.モジュール・テンプレートを作成

まずはモジュール・テンプレートそのもののファイルを作成します。
デフォルトのテンプレートにするので、<MT_TRANS 〜> が展開される前の状態が良いでしょう。
default_templates にあるテンプレートから必要な部分を抜き出して作成すると楽です。

例えば、アーカイブページのタイトル用として、archive_title.tmpl ファイルを作るとしましょう。
その中身は、

<h2 id="archive-title">
 <$MTArchiveTitle$> <MT_TRANS phrase="Archives">
</h2>

こんな感じになると思います。
このファイルを、plugins/WidgetManager/default_widgets/ に置いて作成完了です。

2.デフォルト Widget として登録

作ったモジュール・テンプレートをデフォルトとして登録します。
登録は plugins/WidgetManager/default_widgets/widgets.cfg に設定を追加するだけです。
フォーマットは既存のテンプレートを見本にすれば解ると思います。

例えば、1で作った archive_title.tmpl を登録する場合、

$default_widget_templates = [

  ・・・(既存の設定)

  {
    'template' => 'archive_title.tmpl',
    'name' => 'Archive title',
  },

  ・・・(既存の設定)

];

と追加します。
archive_title.tmpl が "Archive title" という名前で登録されます。
モジュール・テンプレート上では "Widget: Archive title" という名前になります。

3.モジュールの名前を日本語にする

2まででとりあえずデフォルト Widget として扱われるようになりますが、名称が英語になってしまいます。
そこで日本語で表示する方法です。

これは plugins/WidgetManager/lib/WidgetManager/L10N/ja.pm に設定を追加すればできます。
フォーマットはファイルの中身を見れば解ると思います。

例えば、2の Archive title を "アーカイブタイトル" と日本語で表示する場合は、

%Lexicon = (

  ・・・(既存の設定)

  'Archive title' => 'アーカイブタイトル',

  ・・・(既存の設定)

);

と追加します。
モジュール・テンプレート上では "Widget: アーカイブタイトル" という名前になります。

ちなみに、lib/MT/L10N/ja.pm に設定されている日本語名も使えます。
例えば、ブログの名前を表示する Widget を作った場合、widgets.cfg に "Weblog Name" という名前で設定すれば、モジュール・テンプレート上で "Widget: ブログ名" と表示されます。

トラックバック

このエントリーのトラックバックURL:
http://www.tec-q.com/mt/mt-tb.cgi/846

コメントを投稿