Movable Type/第11回MTプラグイン勉強会 - MT-Appのリファレンスを精読する(2) http://www.ark-web.jp/sandbox/wiki/1122.html

Movable Type/第11回MTプラグイン勉強会 - MT-Appのリファレンスを精読する(2)

第10回はMT::Appクラスのリファレンス精読の続きを行います。

MT::App
MT::App::CMS

[edit]

動画(Ustream)

勉強会の模様をアップしました。

Ustreamのチャンネルはこちら。
http://www.ustream.tv/channel/mt%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E5%8B%89%E5%BC%B7%E4%BC%9A

[edit]

ご感想・ご質問など

ご感想、ご質問などあればお気軽にどうぞ。頂けるととても励みになります。


[edit]

ネタ

[edit]

日時

[edit]

METHODS

以下、リファレンスを眺めつつ、主要なものだけ時間をとって解説。

[edit]

session、start_session

セッションを次のように使うことができる。

# セッションの発行
$app->start_session;
$app->session('color', 'Red');

# セッションに保存した値の取得
my $color = $app->session('color');
print $color; # Redが出力される
[edit]

current_magic、validate_magic、make_magic_token

リクエストが正規のものであることを保障するために、トークンを利用できる。

テンプレート内に<mt:var name="MAGIC_TOKEN">を埋め込むことで、カレントのトークンを埋め込むことができる。

<form action="<mt:var name="SCRIPT_URL">?__mode=confirm_magic" method="post">
    <input type="text" name="magic_token" value="<mt:var name="MAGIC_TOKEN">" />
    <input type="submit" value="Magic Send"/>
</form>

または、スクリプト内で$app->current_magicでカレントトークンを取得できる。

バリデーションはリクエストを受け付けた先で、$app->validate_magicをコールする。

   if ( $app->validate_magic ) {
       return 'valid magic is posted.';
   } else {
       return 'Error: invalid magic is posted.';
   }

$app->make_magic_tokenで新しいトークンを作ることもできる(ただし、トークンをつくり出すだけで、カレントトークンにはセットされないので、sessionなどを利用して独自に保存、バリデーションする必要がある。

[edit]

call_return、add_return_arg、uri、uri_params

$app->call_returnと$app->add_return_argを使って以下のように特定modeへのリダイレクトが可能。

# $app->add_return_argを使って__mode=inject_magicにリダイレクト
$app->add_return_arg('__mode' => 'inject_magic');
$app->call_return;

$app->add_return_argには複数のパラメータを渡すことができる。

$app->add_return_arg('__mode' => 'inject_magic', some_flag => 1);
# __mode=inject_magic&some_flag=1にリダイレクトされる

$app->redirectと$app->uri(または$app->uri_params)を使って以下のようにすることもできる。

$app->redirect(
    $app->uri(
        'mode' => 'inject_magic',
        'args' => {
            'some_flag' => 1
        },
    )
);
[edit]

STANDARD APPLICATION TEMPLATE PARAMETERS

MT::App STANDARD APPLICATION TEMPLATE PARAMETERS

を一通り読む。

[edit]

(もしかしたらやるかも)

MT4.xプラグイン作成/プラグイン管理画面の作成

[edit]

次回予定

次回はMT::App::CMS、MT::Pluginのリファレンスを読むことを予定しています。

投稿者進地 | パーマリンク | コメント(0)

| append.gif

tag: Movable TypeMTMTMTPlugin勉強会


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-08-07 (木) 09:23:57 (5951d)

アークウェブのサービスやソリューションはこちら