有一种简单的方法可以从模型中访问url帮助器,例如控制器中可用的模板 我的意思是在控制器中有一种简单的方法来生成这样的URL:
$this->_helper->url(controller,action,null,params);
现在我需要的是将urls direclty从模型传递到视图的简单方法,现在我要做的是将CONTROLLER,ACTION和PARAM作为数组传递给控制器,然后用控制器替换控制器中的文本与控制器中的助手网址,但我想要一个更好的方法是有吗?
答案 0 :(得分:7)
您可以通过直接调用来访问url帮助程序:
$urlHelper = new Zend_View_Helper_Url();
$urlHelper->url(array(),'',true);
答案 1 :(得分:1)
模型不应该访问View,也不应该知道它。
如果您必须完成与表示层相关的工作,请使用Action Helper或View Helper。您正在处理的数据在Controller中完全可用,因此不需要从模型中传递它。
答案 2 :(得分:0)
实际上它有点特定于我的问题,但我以这种方式工作
$check['msg'] == will contain the error or success message
从模型中我传递导致问题的链接
$messages['link'] = array('action'=>'index','controller'=>'trip','params'=>$tripid );
控制器上的
$check['msg'] = str_replace('%link%',$this->_helper->url($check['link']['action'],$check['link']['controller'],null,array('id' => $check['link']['params'])),
$check['msg']);
$this->_flashMessenger->addMessage($check['msg']);
答案 3 :(得分:-2)
我在一本书中找到了以下代码段,它可能对某人有所帮助:
$urlHelper = $this->_helper->getHelper('url');
$urlHelper->url(array(
'controller' => 'customer' ,
'action' => 'save'
),
'default'
);