我需要在Zend_Mail
内通过IndexController
发送电子邮件。我宁愿使用其他视图,而不是在变量中设置电子邮件的正文。
以下是我在控制器中调用视图的方式:
$view = new Zend_View();
$view->addScriptPath(APPLICATION_PATH.$this->getRequest()->getModuleName().DS.'views'.DS.'scripts'.DS.'email')
->setHelperPath(LIB_PATH.'Ms'.DS.'View'.DS.'Helper');
$view->subscription = $subscription;
然后我配置电子邮件并像这样发送:
$mail = new Zend_Mail('UTF-8');
$mail-> // ...
->setBodyHtml($view->render('checkout.phtml'))
->send();
在scripts/email/checkout.phtml
中,我使用两个视图助手,在控制器的默认视图中调用时,它们可以正常工作。但在checkout.phtml
中使用时不再存在。
我同时使用$this->price($myTotal)
和$this->getHelper('Price')->price($myTotal)
,但都没有。
我得到的错误是:Plugin by name 'Price' was not found in the registry; used paths:
Zend_View_Helper_: Zend/View/Helper/;C:\wamp2.4\www\abo\library\Ms\View\Helper/
。最奇怪的是它在正确的目录中寻找帮助但却无法找到它。
任何想法/想法?
非常感谢!
答案 0 :(得分:0)
我必须通过添加第二个参数来设置辅助路径,如下所示:
$view = new Zend_View();
$view->setHelperPath(LIB_PATH.'Ms'.DS.'View'.DS.'Helper', 'Ms_View_Helper');