如何訪問在實際視圖中從breadcrumb部分定義的變量?從breadcrumb部分訪問zend視圖變量
我正在嘗試$ this-> myVar,但我沒有得到任何東西。
我也試試這個和它的作品:
$view = Zend_Layout::getMvcInstance()->getView();
echo $view->myVar
這是正確的或有更好的辦法?
如何訪問在實際視圖中從breadcrumb部分定義的變量?從breadcrumb部分訪問zend視圖變量
我正在嘗試$ this-> myVar,但我沒有得到任何東西。
我也試試這個和它的作品:
$view = Zend_Layout::getMvcInstance()->getView();
echo $view->myVar
這是正確的或有更好的辦法?
Partial View Helper documentation明確指出它「用於在其自己的變量範圍內呈現指定的模板」。它通過克隆的觀點,並在其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>
以上內容由DAVI哈克尼斯答案是GR8,但如果你仍然想使用它像$視圖 - >變量,然後你甚至都不需要使用局部視圖助手,簡單地做
$view = new Zend_View();
$paths = $this->view->getScriptPaths();
$view->addScriptPath($paths[0]);
$view->name = "open source";
$test = $view->render("test.phtml");
echo $test;
凡test.phtml是內部/視圖/腳本當前模塊的目錄,並且包含
<?php echo $this->name?>
我說的是在實施例#渲染使用的局部視圖面包屑等35 http://framework.zend.com/manual /en/zend.view.helpers.html#zend.view.helpers.initial .navigation.breadcrumbs – dimirc
也許如果你描述爲什麼你想從麪包屑中訪問視圖變量,那麼有人會知道一個更好的方法。例如,該視圖可以將內容添加到麪包屑部分可以呈現的佔位符。 –