【问题标题】:ZF: view variable definition for layoutZF:布局的视图变量定义
【发布时间】:2011-09-03 19:24:03
【问题描述】:

我有一些控制器索引。 我在那里定义了变量:

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 函数中定义它,但结果是一样的。 有人可以帮忙吗? 提前感谢大家

【问题讨论】:

标签: php model-view-controller zend-framework layout controller


【解决方案1】:

就像@Yanick Rochon 所写的那样。另一种方法是将变量直接分配给您的布局(),例如

class IndexController extends Zend_Controller_Action
{
      function IndexController()
      {
           $this->view->layout()->some_val = 100;
      }
}

然后在你的布局中;

<p><?= $this->layout()->some_val; ?></p>

【讨论】:

【解决方案2】:

如果您需要保存可重用变量,请使用placeholder 视图助手

public function indexAction() {
    $this->view->placeholder('some_value')->set(100);
}

在任何视图脚本或布局中

echo $this->placeholder('some_value')->getValue();   // -> 100

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2011-03-16
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多