2010-11-19 106 views
6

出於某種原因,我無法使用正確的語法將變量從我的控制器(profileController)傳遞給partial(video.phtml)。將控制器中的變量傳遞給Zend中的部分

我知道你傳遞變量的觀點是這樣

$this->view->somedata = "somedata"; 

,你把它的觀點與

< ?= $this->somedata ?> 

你會如何對部分做到這一點?

回答

14

當您渲染部分(可能來自視圖,右)<?php echo $this->partial(scriptpath, [module], [data])?>時,您還可以傳入腳本所在的模塊以及部分應該有權訪問的數據。這是部分原因,只允許它看到某些數據。

因此,假設您有以下情況:將大量數據從控制器推入視圖。在某些部分中,將在應用程序中的多個位置重新使用,您希望確保它只能訪問特定類型的數據,並且希望數據在呈現時始終保持一致。那麼你會做這樣的事情:

在控制器:

$this->view->namedVariableThatCouldBeWhatever = $data; 

在視圖:

echo $this->partial(
    $partialName, 
    array (
    'standardName' => $this->namedVariableThatCouldBeWhatever 
) 
); 

在部分:

<?php foreach($this->standardName as $item) : ?> 
    //render partial 
<?php endforeach; ?> 
+0

感謝帕特里克!你是最好的 ! – TuK 2010-11-19 12:11:12

+0

最好?同意。 – PurplePilot 2011-06-15 11:44:46

+0

太棒了! Patrik你的搖滾。 – 2014-07-11 11:29:39

相關問題