在自定义viewhelper中加载phtml内容?

时间:2012-04-27 23:34:51

标签: php zend-framework zend-view

在我的主layout.phtml中,我已经包含了一个自定义的viewhelper。 viewhelper有很多静态html内容并将其返回到布局。

viewhelper是否有一种方法可以从外部phtml文件中加载此html内容?

抽象示例:

Layout:
<?php echo $this->viewHelperGiveMeHtml();  ?> //<div>Foobar</div>

ViewHelper:
class Zend_View_Helper_ViewHelperGiveMeHtml extends Zend_View_Helper_Abstract{

    public function viewHelperGiveMeHtml(){
        return retrieveHtmlFromPhtml('foobar.phtml');  //how can i load an phtml? file
    }   
}

foobar.phtml:
<div>Foobar</div>

1 个答案:

答案 0 :(得分:1)

public function viewHelperGiveMeHtml(){
    $this->view->render('foobar.phtml');
}   

简要说明:

当你在视图中调用视图助手$this->viewHelperGiveMeHtml();时,Zend_View初始化给定的助手类并使用Zend_View_Helper_Abstract::setView方法传递自己。