Warning: Redis::connect(): connect() failed: Connection refused in /var/www/admclub.com/wp-content/object-cache.php on line 418
解决zfDebug在没有body或returnResponse(true)时不显示工具栏的问题 | _站长俱乐部站长俱乐部

解决zfDebug在没有body或returnResponse(true)时不显示工具栏的问题

因为在一些特别的情况下,如:HTML内容中没有</body>标记,或$front->returnResponse(true)的情况。zfDebug是不能输出工具条的。

我做了下面的修改,这样,zfDebug就能在上述情况下也能显示工具条了。

修改文件:ZFDebug/Controller/Plugin/Debug.php

 protected function _output($html)
    {
        $html = "<div id='ZFDebug_offset'></div>\n<div id='ZFDebug'>\n$html\n</div>\n</body>";
        $response = $this->getResponse();
        
        #当returnResponse为TRUE时,照样输出工具栏
        $front =Zend_Controller_Front::getInstance();
        if($front->returnResponse()){
            echo '<body>'.$this->_headerOutput() .$response->getBody(). $html;
            return;
        }
        
        #有时候,HTML页面是没有BODY标记的。也需要输出。
        if(strpos('</body>',$response->getBody())!==false){
            $response->setBody(str_ireplace('</body>', $this->_headerOutput() . $html, $response->getBody()));
        }
        else{
            $response->setBody('<body>'.$this->_headerOutput() .$response->getBody(). $html);
        }
    }
发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>