CDetailView
のテキストを、MarkDownの形式で以前にエンコードしたものを表示したいとします。YiiについてCMarkdownクラス
これが私の見解コードです:私は明示的にtrue
にpurifyOutput
を設定する方法
private $_markdown = null;
public function getMarkdown()
{
if ($this->_markdown === null)
{
$this->_markdown = new CMarkdown();
$this->_markdown->purifyOutput = true;
}
return $this->_markdown;
}
は予告:私のコントローラで
<?php
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'title',
array(
'name'=>'text',
'type'=>'raw',
'value'=>$this->markdown->transform($model->text)
),
'author_id',
'date_added',
),
));
?>
と、私はこのようなCMarkDown
フィルタをインスタンス化します。
私はマーキーと注入されたjavascriptのようなものでいっぱいのモックポストを作って、それがどのように振る舞い、何もフィルタリングしなかったのを見ました!私は私の顔に警告を受けて、マーキーはページ上で動き回って満足していた。
に'type'=>'html'
を設定するという回避策が見つかりましたが、私はそれをする必要はありません。 ??
私は->transform()
メソッドを呼び出すと、purifyOutput
オプションは私のために不要なものをフィルタリングすることになっていますか?
何か助けてください。