加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

zend-framework – 如何捕获Zend视图输出而不是实际输出它

发布时间:2020-05-31 01:15:51 所属栏目:PHP 来源:互联网
导读:问题:有时在我们的zend控制器中,我们不希望脚本直接输出,而是想要该脚本的内容.一个例子:当我们需要结果时,视图脚本的html输出被包含在另一个结构中,如 JSON或XML,以便在客户端进行处理. 我在堆栈溢出时发现了结果,但不是那么快,因为它处于不同的上下文中.

问题:有时在我们的zend控制器中,我们不希望脚本直接输出,而是想要该脚本的内容.一个例子:当我们需要结果时,视图脚本的html输出被包含在另一个结构中,如 JSON或XML,以便在客户端进行处理.

我在堆栈溢出时发现了结果,但不是那么快,因为它处于不同的上下文中.我现在已经为此困难了2天了.事实证明这很简单:

// in our controllers' action method
    $this->_helper->layout()->setLayout('empty');    // disable layout
    $this->_helper->viewRenderer->setNoRender(true); // make sure the script is not being rendered

    // any of your code here
    $html = $this->view->render('projects/climate.phtml');  // return the view script content as a string
    $json = array('html'=>$html,'initData'=>'my other needed data');
    echo json_encode($json);

我希望这很清楚,对某人有用.

尝试使用
public myAction () {
    $this->_helper->json(array(
        'html'    => $this->view->render('projects/climate.phtml'),'initData'=> 'my other needed data',));
}

Json行动助手通常会这样做

>禁用viewRenderer>禁用布局> json_encode数组

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读