マスター レイアウトからビューに変数を渡そうとしていますが、うまくいきません。
レイアウト.phtml
$this->hadMessages = true;
myview.phtml
var_dump($this->hadMessages);
はvar_dump
常に で返されNULL
ます。私が読んだことから、レイアウトもビューなので、同じコンテキストにあるはずですよね?
Zend Framework 1.11 を使用しています。
マスター レイアウトからビューに変数を渡そうとしていますが、うまくいきません。
レイアウト.phtml
$this->hadMessages = true;
myview.phtml
var_dump($this->hadMessages);
はvar_dump
常に で返されNULL
ます。私が読んだことから、レイアウトもビューなので、同じコンテキストにあるはずですよね?
Zend Framework 1.11 を使用しています。
レイアウトはビューの後にレンダリングされるため、これは機能しません。何をしようとしているのかによっては、コントローラー プラグインの助けを借りて目的の効果を達成できる場合があります。
MVC パターンによれば、このようなタスクは必要ないため、レイアウトからビューに変数を渡す方法はありません。レイアウトにメッセージが含まれているかどうかは、レイアウト自体ではなく、コントローラーまたはブートストラップ レベルで決定する必要があります。これは、コントローラーで必要なすべての割り当てを$this->view->layout_messages_shown = true
行い、レイアウトとビューの両方でこの変数値を取得する必要があることを意味しますecho ( $this->layout_messages_shown ? "messages shown" : "messages hidden" )