我有一些控制器索引。 我在那里定义了变量:
class IndexController extends Zend_Controller_Action
{
function IndexController()
{
$this->view->some_val = 100;
}
}
布局是这样的:
<html>
<p><?= $this->some_val; ?></p>
<?= $this->getLayout()->content; ?>
</html>
但在这种情况下我得到NULL而不是100.我试图在preDispatch函数中定义它,但结果是相同的。 有人可以帮忙吗? 感谢所有提前
答案 0 :(得分:2)
如果您需要保存可重复使用的变量,请使用placeholder
视图助手
public function indexAction() {
$this->view->placeholder('some_value')->set(100);
}
以及任何视图脚本或布局
echo $this->placeholder('some_value')->getValue(); // -> 100
答案 1 :(得分:2)
正如@Yanick Rochon写的那样。另一种方法是将变量直接分配给你的布局(),例如
class IndexController extends Zend_Controller_Action
{
function IndexController()
{
$this->view->layout()->some_val = 100;
}
}
然后在你的布局中;
<p><?= $this->layout()->some_val; ?></p>