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