トップページへ

Movable Typeのダッシュボードプラグインの作り方

小粋空間 » Movable Type » プラグイン » ダッシュボード » Movable Typeのダッシュボードプラグインの作り方

Movable Typeのダッシュボードプラグインの作り方を紹介します。

1.はじめに

ダッシュボードプラグインを作る機会があったので、サンプルを使って作り方をまとめてみました。

ここでは下記のサンプルを紹介します。

ユーザーダッシュボードに「サンプルダッシュボードウィジェット」を表示します。

サンプルダッシュボードウィジェット

選択すると、下記のようにログインしたユーザー名を表示します。

サンプルダッシュボードウィジェット

×印をクリックすると、ウィジェットが削除されます。

このサンプルプラグインの構造は次の通りです。

DashboardSample
 ├ config.yaml
 ├ lib
 │ └ DashboardSample
 │   └ CMS.pm
 └ tmpl
   └ sample.tmpl

サンプルは下記のURLよりダウンロードできます。

DashboardSample.tar.gz

以下、それぞれのファイルについて解説します。

2.config.yaml

下記にサンプルを示します。

name: DashboardSample
id: DashboardSample
widgets:
  DashboardSample:
    label: サンプルダッシュボードウィジェット
#    plugin: $DashboardSample
    template: sample.tmpl
    order: 1000
    singular: 1
    set: main
    handler: $DashboardSample::DashboardSample::CMS::test
    view:
      - user

主な項目の意味は次の通りです。

"plugin"という項目もありますが、記述無しでも動作するようなのでコメントアウトしています。

記述する場合は、サンプルのように「id:」の値を"$"つきで記述してください。

3.sample.tmpl

下記にサンプルを示します。

<mtapp:widget
  id="DashboardSample"
  class="widget DashboardSample"
  label="サンプルダッシュボードウィジェット"
  can_close="1">
<p><mt:var name="name"></p>
</mtapp:widget>

ここではパラメータ「name」の値だけを表示するようにしています。

<p><mt:var name="name"></p>

ダッシュボードを表示したあとに×印で削除できるようにするには、mtapp:widgetタグに「can_close="1"」を付与します。

4.CMS.pm

下記にサンプルを示します。

package DashboardSample::CMS;
 
use strict;
use warnings;
 
sub test {
    my $app = shift;
    my ( $tmpl, $param ) = @_;
 
    my $user = $app->user;
}
 
1;

sample.tmplの"name"に値を渡すために、下記の1行を追加しています。

    $param->{name} = $user->nickname;

« 前の記事へ

次の記事へ »

トップページへ