2011-09-24 56 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()

但我真的不知道,如果我得到你的问题想通了,在所有:是你可以解释它进一步