当我研究的骨架应用程序时Zend Framework 2
,我想在页面的右上角添加一个标签来显示UserName
谁已经登录。但是,我对定义的导航栏的代码感到困惑,layout.pthml
控制器如何与layout.phtml
修改它?
提前致谢!
此外,当用户未使用助手登录时,我想要页面右上角的登录表单。但我不知道如何使用助手添加表单,我该怎么办?
当我研究的骨架应用程序时Zend Framework 2
,我想在页面的右上角添加一个标签来显示UserName
谁已经登录。但是,我对定义的导航栏的代码感到困惑,layout.pthml
控制器如何与layout.phtml
修改它?
提前致谢!
此外,当用户未使用助手登录时,我想要页面右上角的登录表单。但我不知道如何使用助手添加表单,我该怎么办?
在控制器中,您可以使用名为“Layout”的控制器插件来设置变量:
$this->layout()->username = “some value”;
然后在 layout.phtml 你应该能够做到:
<?php echo $this->username; ?>
如果您看一下,Zend\Mvc\Controller\Plugin\Layout
您会发现__invoke
不带参数的方法将返回 的实例ViewModel
,因此这是有效的。
如果要在模块范围内定义它,请在 Module.php 上
public function onBootstrap(MvcEvent $e)
{
....
$e->getViewModel()->setVariable('username', 'some_value');
}
在你的 layout.phtml 上
echo $layout->username;
在 module.php 你可以做到这一点
public function onBootstrap(MvcEvent $e)
{
....
$e->getViewModel()->setVariable('username', $username);
}
在你的布局中你可以做
echo $this->layout()->username;
还要检查你是否使用过 MvcEvent 类。