Php 访问控制器';ZF中布局中的s动作变量
我想在zend框架中访问layout中的变量,如何才能做到这一点。我搜索了很多,但没有找到任何对我有用的东西。下面是我已经尝试过的链接,因此管理员请不要将此问题标记为重复问题 谢谢 Senario 我在Php 访问控制器';ZF中布局中的s动作变量,php,zend-framework,Php,Zend Framework,我想在zend框架中访问layout中的变量,如何才能做到这一点。我搜索了很多,但没有找到任何对我有用的东西。下面是我已经尝试过的链接,因此管理员请不要将此问题标记为重复问题 谢谢 Senario 我在layout.phtml中有一个链接,我想在有条件的基础上显示它。就像我的网站的一些用户看不到那个链接,但其他人可以。这种情况来自我拥有的数据库,但我不知道如何在layout.phtml 示例 <?php if($this->check == true) {?><a h
layout.phtml
中有一个链接,我想在有条件的基础上显示它。就像我的网站的一些用户看不到那个链接,但其他人可以。这种情况来自我拥有的数据库,但我不知道如何在layout.phtml
示例
<?php if($this->check == true) {?><a href="#">This Link</a><?php } ?>
如果
$this->check==true,则显示链接,否则不显示链接。将变量从操作传递到视图,如
$this->view->check = true;
然后在视图中访问它,如$this->check
并执行检查
if($this->check){
//Do something
}
else{
//Do something
}
我找到了问题的解决办法
在IndexController的
init函数中编写以下代码
$this->_helper->layout()->myvar = $someValue;
并通过此代码在布局中访问它
$this->placeholder('Zend_Layout')->myvar;
对于他/她在应用程序中拥有的每个控制器,必须这样做。否则将得到一个关于未定义变量的错误
参考资料:
第一个代码清单的第15行…我有20多个操作/视图,如何在所有这些操作/视图中传递变量。另外,链接在布局中而不是视图中如何使该链接在任何其他视图中不可见……您必须从每个操作中传递,并在视图的相应布局中隐藏。