DashBoardTest02
構成
$MT_DIR/
|__ plugins/
| |__ DashBoardTest02/
| |__ config.yaml
| |__ lib/
| | |__ DashBoardTest02
| |__ Widget.pm
| |__ L10N.pm
| |__ L10N/
| |__ ja.pm
| |__ en_us.pm
| |__ tmpl/
| |__ dashboardtest02.tmpl
ソース
config.yaml
id: DashBoardTest02
key: DashBoardTest02
name: <__trans phrase="_DASHBOARDTEST02_NAME_">
version: 1.0
description: <__trans phrase="_DASHBOARDTEST02_DESCRIPTION">
author_name: <__trans phrase="_DASHBOARDTEST02_AUTHOR">
author_link: http://www.example.com/about/
doc_link: http://www.example.com/docs/
# 言語対応
l10n_class: DashBoardTest02::L10N
# ウィジェット
widgets:
# ウィジェット名
dashboardtest02:
# ラベル
label: DashBoardTest02
# テンプレート
template: dashboardtest02.tmpl
# 使用ハンドラ
handler: $DashBoardTest02::DashBoardTest02::Widget::hdlr_func01
# 表示位置をサイドバーに設定
set: sidebar
# ウィジェットを単一表示する
singular: 1
lib/DashBoardTest02/Widget.pm
package DashBoardTest02::Widget;
use strict;
use MT::FileMgr;
use Data::Dumper;
use Encode;
use utf8;
sub hdlr_func01{
# 引数を取得
my ($app, $tmpl, $param) = @_;
my @list;
push @list, {name => "aaaaa"};
push @list, {name => "bbbbb"};
push @list, {name => "ccccc"};
push @list, {name => "ddddd"};
push @list, {name => "eeeee"};
# パラメータ設定
$param->{title} = "Test Title";
$param->{list} = \@list;;
# 戻る
return;
}
1;
lib/DashBoardTest02/L10N.pm
package DashBoardTest02::L10N;
use strict;
use base 'MT::Plugin::L10N';
1;
lib/DashBoardTest02/L10N/ja.pm
package DashBoardTest02::L10N::ja;
use strict;
use base 'DashBoardTest02::L10N::en_us';
use vars qw( %Lexicon );
%Lexicon = (
'_DASHBOARDTEST02_NAME_' => 'BootstrapTest02',
'_DASHBOARDTEST02_DESCRIPTION' => 'BootstrapTest02のテスト',
'_DASHBOARDTEST02_AUTHOR' => 'プラグイン作者',
);
1;
lib/DashBoardTest02/L10N/en_us.pm
package DashBoardTest02::L10N::en_us;
use strict;
use base 'DashBoardTest02::L10N';
use vars qw( %Lexicon );
%Lexicon = (
'_DASHBOARDTEST02_NAME_' => 'DashBoardTest02',
'_DASHBOARDTEST02_DESCRIPTION' => 'DashBoardTest02 Test',
'_DASHBOARDTEST02_AUTHOR' => 'DashBoardTest02 author',
);
1;
tmpl/dashboardtest02.tmpl
<mtapp:widget class="widget dashboardtest02"
label="DashBoardTest02"
can_close="1">
<h1>DashBoardTest02</h1>
<div style="margin-left: 10px;">
<mt:var name="title">
<div style="margin-left: 10px;">
<mt:loop name="list">
<span><mt:var name="name"><br />
</mt:loop>
</div>
</div>
</mtapp:widget>
結果
追加することで追加されていることを確認
最終更新:2012年02月10日 08:03