WEBアプリケーション研究室 開発ノート TOP

WEBアプリケーション研究室 開発ノート [symfony] actionの変数をlayout.phpで使用する

スポンサーサイト

-------- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加

actionで設定した変数をlayout.phpで使用することは出来ません。
使用するにはスロットを使います。
もともとは例えばサイドバーの内容をaction毎に切り替えたりする場合に使います。
まずlayout.phpに


<?php if (has_slot('slot')): ?>
<?php include_slot('slot') ?>
<?php else: ?>
ここにデフォルトのものを入れる。
actionの変数はここでは使えません。
<?php endif; ?>
そして、この内容を上書きたいactionのテンプレートで

<?php slot('slot') ?>
ここに内容を書く。
ここでは当然actionの変数が使えます。
<?php end_slot() ?>
これでこのaction実行時にはこの内容が表示されます。
layout.phpにデフォルトのスロット(else以下)を設定しなければ、slotが存在しなければ何も出ないので、これを使えばactionの変数をlayout.phpで使えるます。
スポンサーサイト

    このエントリーをはてなブックマークに追加
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。