アルファサード株式会社 代表取締役 野田 純生のブログ


MTのダイナミックパブリッシングでは $this は $ctx(class MTViewer)である。


公開日 : 2013-09-02 11:31:15


表題の通り(超久しぶりにトラックバックを送ろうと思ったがトラックバックアドレスが見つからず...)。MTのダイナミックパブリッシング(Not DynamicMTML)では、$this は class MTViewer( extends Smarty )なので、このページ(MTタグとphpで変数の受け渡しをする。)で紹介した方法は、ダイナミックパブリッシングではもっとシンプルに、こう書けます。

<?php
// var_dump( $this );
// $this は Class MTViewer (つまり、$ctxにあたる)
$blog = $this->stash( 'blog' );
$this->__stash[ 'vars' ][ 'blog_name' ] = $blog->name;
?>
<mt:var name="blog_name">
<mt:BlogURL setvar="blog_url">
<?php
//MTタグでsetvarした値を取得
echo $this->__stash[ 'vars' ][ 'blog_url' ];
?> 

二重括弧にしなくても動くのは僕の手元環境が特殊なのだろうか...?



このブログを書いている人
野田純生の写真
野田 純生 (のだ すみお)

大阪府出身。ウェブアクセシビリティエバンジェリスト。 アルファサード株式会社の代表取締役社長であり、現役のプログラマ。経営理念は「テクノロジーによって顧客とパートナーに寄り添い、ウェブを良くする」。 プロフィール詳細へ