6

のスケルトンアプリケーションを勉強するときZend Framework 2、ページの右上にUserName誰がログインしているかを示すラベルを追加したいと考えていlayout.pthmlます。layout.phtmlそれを変更するには?

前もって感謝します!

さらに、ヘルパーを使用してログインしていない場合、ページの右上にログインフォームが欲しいのですが、ヘルパーを使用してフォームを追加する方法がわかりません。

4

3 に答える 3

7

コントローラーから、「Layout」と呼ばれるコントローラープラグインを使用して、変数を設定できます。

$this->layout()->username = “some value”;

次に、layout.phtml で次のことができるはずです。

<?php echo $this->username; ?>

Zend\Mvc\Controller\Plugin\Layout見ると、__invokeパラメータのないメソッドが のインスタンスを返すことがわかりますViewModel。したがって、これが機能する理由です。

于 2012-09-24T14:18:22.537 に答える
1

モジュール全体で定義する場合は、Module.phpで

public function onBootstrap(MvcEvent $e)
{
  ....
  $e->getViewModel()->setVariable('username', 'some_value');
}

とあなたのlayout.phtmlに

echo $layout->username;
于 2012-12-21T09:16:39.283 に答える