Yii 1.1.16 - renderPartial()在输出开始时添加一个空格

use*_*556 5 php yii yii-extensions

它只是我,还是renderPartial()在其输出前添加了额外的空间?它似乎与我所有人一起这样做renderPartial().render()对我来说很好,并没有增加额外的空间.

这是我的示例代码.试图生成RSS,并因为额外的空间而得到错误

public function actionFeed()
    {
        Yii::import('site.common.extensions.feed.*');

        $model = new ABC();

        $this->renderPartial('feed', array('model' => $model->findAll()));
    }
Run Code Online (Sandbox Code Playgroud)

这是生成的html

 <?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel>
Run Code Online (Sandbox Code Playgroud)

前方有一个空间 <?xml>

如果我清空我的feed.php,只是放

<span>asadadasfaf</span>
Run Code Online (Sandbox Code Playgroud)

前面还有一个空间 <span>

我正在使用此扩展来生成RSS https://github.com/2amigos/efeed

由于空间,Firefox正在给我这个错误

XML Parsing Error: XML or text declaration not at start of entity
Location: http://localhost/dev/frontend/www/abc/feed/
Line Number 1, Column 2: <?xml version="1.0" encoding="utf-8"?>
-^
Run Code Online (Sandbox Code Playgroud)

仅供参考,我正在使用:

Yii 1.1.16
OSX 10.10.2
XAMPP 1.8.3-5
CHROME 40.0.2214.94 (64-bit) 
FIREFOX 35.0.1
Run Code Online (Sandbox Code Playgroud)

有人知道一个解决方法吗?或者有同样的问题?

J.K*_*.A. 0

我不知道为什么renderPartial()要在那里添加额外的空间,但你可以做这样的事情。

public function actionFeed()
    {
        $this->layout = '';
        $this->render('feed', array('model' => $model->findAll()));
    }
Run Code Online (Sandbox Code Playgroud)

因为render()它适合您并且使用 using$this->layout=''您可以禁用视图的渲染布局。

希望它对你有用。