&pgid();
#contents
第10回はMT::Appクラスのリファレンス精読の続きを行います。
[[MT::App>http://www.movabletype.org/documentation/man/MT/App.html]]
[[MT::App::CMS>http://www.movabletype.org/documentation/man/MT/App/CMS.html]]
** 動画(Ustream) [#h078a3d2]
//勉強会の模様をアップしました。
//今回は確信をもっていえる内容に乏しいです(汗
//勉強会の中でも言っていますが、使い方がよくわからないものは、ちょっとづつ実際につかって試してみていこうと思います(ドキュメントに書かれていないものを使っていいのかという疑問は常にありますが^^;)
勉強会の模様をアップしました。
//#htmlinsert(study/mtplugin-9.html)
#htmlinsert(study/mtplugin-11.html)
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
*** ご感想・ご質問など [#y7a8027b]
ご感想、ご質問などあればお気軽にどうぞ。頂けるととても励みになります。
#comment
// ** 勉強会で解説したプログラムコードのダウンロード [#s88262b7]
//&ref(Quote.zip);
** ネタ [#bf9718df]
- [[MT::App(英語)>http://www.movabletype.org/documentation/man/MT/App.html]]
- [[MT::App(日本語)>http://www.sixapart.jp/movabletype/manual/object_reference/archives/mt_app.html]]
- [[MT::App::CMS(英語)>http://www.movabletype.org/documentation/man/MT/App/CMS.html]]
- [[MT::App::CMS(日本語)>http://www.sixapart.jp/movabletype/manual/object_reference/archives/mt_app_cms.html]]
** 日時 [#g86debd5]
- 2008/08/01(金) 10:30〜11:00
** METHODS [#s24062d5]
以下、リファレンスを眺めつつ、主要なものだけ時間をとって解説。
*** session、start_session [#a10c12e1]
セッションを次のように使うことができる。
# セッションの発行
$app->start_session;
$app->session('color', 'Red');
# セッションに保存した値の取得
my $color = $app->session('color');
print $color; # Redが出力される
*** current_magic、validate_magic、make_magic_token [#y3bb054c]
リクエストが正規のものであることを保障するために、トークンを利用できる。
テンプレート内に<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などを利用して独自に保存、バリデーションする必要がある。
*** call_return、add_return_arg、uri、uri_params [#m3f5604c]
$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
},
)
);
** STANDARD APPLICATION TEMPLATE PARAMETERS [#t149b783]
[[MT::App STANDARD APPLICATION TEMPLATE PARAMETERS>http://www.movabletype.org/documentation/man/MT/App.html#STANDARD_APPLICATION_TEMPLATE_PARAMETERS]]
を一通り読む。
** (もしかしたらやるかも) [#le420b65]
[[MT4.xプラグイン作成/プラグイン管理画面の作成]]
** 次回予定 [#p808950f]
次回はMT::App::CMS、MT::Pluginのリファレンスを読むことを予定しています。
#blikifooter(進地);
tag: [[Movable Type>tag/Movable Type]]、[[MT>tag/MT]]、[[MT>tag/MT::Bootstrap]]、[[MTPlugin>tag/MTPlugin]]、[[勉強会>tag/勉強会]]