手动调用$ view-> render()时,Zend View助手不可用:如何解决?

时间:2010-10-06 12:31:39

标签: php zend-framework

我最近发现手动调用$view->render()时似乎无法使用view helpers

在这种特殊情况下,我有一个配置视图帮助器,我可以在我的视图脚本中轻松调用,如下所示:

$this->config()->some->param

我现在正在尝试发送邮件,并发现上述手动调用render方法时似乎不起作用:

/** 
 * Within these view scripts, $this->config() is called, 
 * which results in an empty object
 */
$mail->setBodyText($this->view->render('partials/invite/email/text.phtml'));
$mail->setBodyHtml($this->view->render('partials/invite/email/html.phtml'));

我忽略了什么吗?这是一个错误还是预期的行为?我应该采用另一种手动渲染视图脚本的方法吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我们能看到更多代码吗?

到目前为止,我已经使用手动渲染的视图了。

$view->setHelperPath('/path/to/helper/class');
print $view->render('view.phtml');

这是/ path / to / helper / class中名为FooBar.php的类

<?php
class Zend_View_Helper_FooBar extends Zend_View_Helper_Abstract {
    public function fooBar()
    {
        return 'random string this will be the output';
    }
}

在view.pthml

print $this->fooBar();

输出

  

随机字符串这将是输出