symfony.1.4 action内で作成した配列が、sfOutputEscaperArrayDecoratorされる場合の回避方法

2011年4月27日 オフ 投稿者: KYO
Table of Contents

action内で、新しく配列を作成した場合、XSS対策が有効になっているとsfOutputEscaperArrayDecoratorとして処理される場合がある。
例としては、DBから取得したカラムデータを配列へ追加/作成した場合。

そんな時は、テンプレート側から配列へアクセスする際、$sf_data->getRaw()メソッドを利用する。

// action.php
$c = new Criteria();
...
$table1 = Table1Peer::doSelectOne($c);
$table2 = Table2Peer::doSelectOne($c);

$this->array = array($table1->getColumn1(), $table2->getColumn2());



// template/indexSuccess.php
var_dump($array);
var_dump($sf_data->getRaw('array');