2015-02-06 13 views
5

Ist es nur ich oder fügt renderPartial() einen zusätzlichen Platz vor seinem Ausgang hinzu? Es scheint so mit all meinen renderPartial() 's zu tun. render() funktioniert gut für mich und fügt keinen zusätzlichen Platz hinzu.Yii 1.1.16 - renderPartial() fügt ein Leerzeichen am Anfang der Ausgabe hinzu

Hier ist ein Beispielcode von mir. Der Versuch, einen RSS zu erzeugen, und immer Fehler ist wegen des zusätzlichen Raum

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

     $model = new ABC(); 

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

hier wird die erzeugte 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> 

ein Raum vor <?xml> ist

, wenn ich meine feed.php leer und einfach setzen

<span>asadadasfaf</span> 

würde es noch sein ein Raum vor <span>

ich diese Erweiterung bin mit dem RSS https://github.com/2amigos/efeed

Wegen des Raumes zu erzeugen, wird geben Firefox mir diesen Fehler

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"?> 
-^ 

FYI, ich verwende :

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

Wer weiß, ein Werk um? oder die gleichen Probleme haben?

Antwort

0

Ich weiß nicht genau, warum renderPartial() zusätzlichen Platz dort hinzufügt, aber Sie können etwas wie das tun.

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

Da render() ist für Sie zu arbeiten und mit $this->layout='' verwenden Sie deaktivieren können für View-Layout-Rendering.

Ich hoffe, es wird für Sie arbeiten.

+0

seltsam, die gleichen Ergebnisse zu erhalten. und wenn ich 'feed.php' zu nur'

hallo

'ändere, zeigt es im Plan – user2636556

1

Das Problem gefunden, hatte einen Platz vor meinem <?php Tag im Controller die Aktion aufrufen. : \

+2

Tun Sie das Richtige und löschen Sie diesen Pfosten. – crafter

Verwandte Themen