2011-09-24 57 views
0

我需要給前端設計者選擇是否顯示單個XML飼料或混搭,從view.phtml文件的能力存取控制器或模型Zend框架 - 從視圖

這意味着我需要能夠從控制器或模型中調用一個方法,該方法然後將一個變量返回給包含請求的源的視圖。

那麼如何從視圖中訪問控制器或模型的方法?

回答

3

你不調用視圖控制器的方法,但ÿ您可以同時內部視圖中創建模型的實例(用於只讀目的),然後調用它的公共方法.eg

Foo.phtml

<?php $feedsTb = new Default_Model_Feeds() ?> 
<?php $allFeeds = $feedsTb->fetchAll(); ?> 
+0

你的意思是「只讀目的」?這是一種不好的做法嗎?我有一個解析一些文本的腳本,如果它找到一個圖片url,我希望它在數據庫中找到它的url後鏈接到圖片的主頁。在查看網址時,我是否可以通過這種方式將網址傳遞給模型,並將其視爲「正常」? – Darius

1

我不知道如果我得到你的問題所在,但是這是後話,我可能會做的方式一樣 控制器:

if($this->_getParam('single')) { 
    $this->view->data = $model->getFeedSingleData(); 
    $this->render('single_feed.phtml'); 
} else { //mashup 
    $this->view->data = $model->getMashUpData(); 
    $this-render('mashup_feed.phtml'); 
} 

但無可否認這樣的一個例子是有兩個最好不同的動作(singleAction()mashupAction()

但我真的不知道,如果我得到你的問題想通了,在所有:是你可以解釋它進一步