2015-02-06 44 views
5

難道只是我,還是renderPartial()在輸出前增加了額外的空格?這似乎與我所有的renderPartial()的這樣做。 render()適合我,並且不會添加額外的空間。Yii 1.1.16 - renderPartial()在輸出開始處增加空格

這裏是我的一個示例代碼。試圖生成RSS,並得到錯誤的,因爲額外的空間

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

     $model = new ABC(); 

     $this->renderPartial('feed', array('model' => $model->findAll())); 
    } 

這裏生成的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> 

存在的<?xml>

前面的空間,如果我清空feed.php並且只是把

<span>asadadasfaf</span> 

還會有是的<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"?> 
-^ 

僅供參考,我使用:

Yii 1.1.16 
OSX 10.10.2 
XAMPP 1.8.3-5 
CHROME 40.0.2214.94 (64-bit) 
FIREFOX 35.0.1 

任何人都知道工作?或有相同的問題?

回答

0

我不知道爲什麼renderPartial()在那裏增加額外的空間,但你可以做這樣的事情。

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

因爲render()是爲你工作,並使用$this->layout=''使用您可以禁用渲染布局視圖。

希望它能爲你工作。

+0

奇怪,得到相同的結果。當我改變'feed.php'只是'

你好

'它顯示在佈局 – user2636556 2015-02-06 05:30:47

1

發現問題,在控制器中調用動作時在我的<?php標記前有一個空格。 :\

+2

做正確的事情並刪除這篇文章。 – crafter 2015-02-07 13:30:43