ハンドラに渡される変数(ダッシュボードウィジェット)

| | トラックバック(0)

カテゴリ:

さらにダッシュボードウィジェットについて。

以前の記事。

codeあるいはhandlerには「($app, $tmpl, $widget_param)」が渡されるという話だった。

具体的にどんなのが返ってくるかしらべた。

$app

$appはよく出てくるし簡単なので略。
Movable Type オブジェクト・リファレンス MT::App

$widget_param

  • 'widget_scope' => 'dashboard:blog:1',
  • 'selector_hide_chooser' => 1,
  • 'support_path' => '/Users/*/Sites/MT/mt-static/support/userpics'
  • 'magic_token' => 'HYXnySWd8n9ijz7cjOfQeO4Oq2Pj5RsbrOZp1zHk',
  • 'widget_block' => 'sidebar',
  • 'no_breadcrumbs' => 1,
  • 'top_blog_loop' => [],
  • 'dynamic_all' => '',
  • 'quick_search' => 0,
  • 'redirect' => undef,
  • 'screen_class' => 'dashboard',
  • 'screen_id' => 'dashboard',
  • 'aaw_current_month' => '100',
  • 'has_uploads_path' => 1,
  • 'widget_id' => 'AmazonAffiliateWidet-1',
  • 'blog_id' => '1',
  • 'html_head' => '',
  • 'aaw_previous_month' => '100',
  • 'saved' => undef,
  • 'js_include' => '',
  • 'system_overview_nav' => 0,
  • 'permission' => undef,
  • 'widget_singular' => 1,
  • 'all_widget_loop' => [
    • { 'widget_label' => '最近の投稿', 'widget_id' => 'recent_submissions' },
    • { 'widget_label' => '最近評価されたブログ記事', 'widget_id' => 'recently_scored' },
    • { 'widget_label' => '評価の高いブログ記事', 'widget_id' => 'most_popular_entries' }
  • ],
  • 'main' => '(長いので略。ダッシュボードメイン部のテンプレート)',
  • 'sidebar' => '(長いので略。ダッシュボードサイドバー部のテンプレート)',

$tmpl

これは長すぎる。。。解読不能。

大枠はテンプレートクラス。

MT::Templateクラスがブレスされる。

最上位のパラメータは、

  • 'column_values'
  • 'include_path'
  • 'changed_cols'
  • '__file'
  • 'needsdbsync'
  • '__classes'
  • '__meta'
  • 'include_filter'
  • '__tokens'
  • 'context'
  • '__ids'

となっている。

そのうち、「'column_values'」にはウィジェットをレジストするときに、 templateで記述したテンプレートの情報が入っている。

'column_values' => { 
'build_dynamic' => 0, 
'build_interval' => 0, 
'text' => '<mtapp:widget class="widget hw-widget" label="Amazon Affiliate Widget" can_close="1"> (テンプレートの内容) </mtapp:widget>',    'rebuild_me' => 1, 
'build_type' => 1 
},

$tmpl->column_values->{text} = "hogehoge"

とやることで、テンプレートの内容をまるごと変えることができる。
あるいは、$tmpl->text( $str )とやっても書き換えができた。

それから、大事なのが「'context'」。
これにはMT::Template::Contextクラスがブレスされており、ものすごく膨大なパラメータがぶら下がっている。

関連するMT Perl APIのリンク

comments powered by Disqus

トラックバック(0)

このブログ記事を参照しているブログ一覧: ハンドラに渡される変数(ダッシュボードウィジェット)

このブログ記事に対するトラックバックURL: http://nozawashinichi.sakura.ne.jp/MT-4.25/mt-tb.cgi/389

comments powered by Disqus

このブログ記事について

このページは、Shinichi Nozawaが2009年5月 7日 03:42に書いたブログ記事です。

ひとつ前のブログ記事は「ダッシュボードウィジェット」です。

次のブログ記事は「MovableTypeプラグイン開発入門 関根元和著」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。