如何从breadcrumb部分访问在实际视图中定义的变量?
我尝试使用$this->myVar,但我没有得到任何东西。
我也试过这个,它工作:
$view = Zend_Layout::getMvcInstance()->getView();
echo $view->myVar
这是正确的还是有更好的方法?
以上Davi Harkness的回答是gr8,但如果你仍然想使用它,如$view->var,那么你甚至不需要使用部分视图辅助器,只需执行
$view = new Zend_View();
$paths = $this->view->getScriptPaths();
$view->addScriptPath($paths[0]);
$view->name = "open source";
$test = $view->render("test.phtml");
echo $test;
测试的地方。php位于当前模块的/views/scripts目录中,包含
<?php echo $this->name?>
Partial View Helper文档特别指出,它"用于在其自己的变量范围内呈现指定的模板"。它通过克隆视图并清除cloneView()
方法中的所有现有变量来实现这一点:
public function cloneView()
{
$view = clone $this->view;
$view->clearVars();
return $view;
}
你应该让这些视图在数组中传递局部需要的值,而不是将局部与调用它的视图耦合。
<?php echo $this->partial('partial.phtml', array(
'from' => 'Team Framework',
'subject' => 'view partials',
)); ?>
部分视图脚本可以访问$this->from
和$this->subject
。
<?php // partial.phtml ?>
<ul>
<li>From: <?php echo $this->escape($this->from) ?></li>
<li>Subject: <?php echo $this->escape($this->subject) ?></li>
</ul>