Yii zii.widgets.CDetailView - 将属性输出为 HTML 代码格式
我想要输出属性 description
作为 CDetailView 中的 HTML 代码.
I want output attribute description
as HTML code in CDetailView.
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'id',
'title',
'description' => array(
'name' => 'description',
'value' => html_entity_decode(CHtml::decode($model->description)),
),
'price',
'date',
),
));?>
推荐答案
您需要使用 :html
格式:
'attributes'=>array(
'id',
'title',
'description:html',
'price',
'date',
),
其他格式见CFormatter.
您甚至可以扩展 CFormatter,并创建自己的格式.
You can even extend CFormatter, and create your own formats.
<?php
class CustomFormatter extends CFormatter {
public function formatLink($value) {
return '<a href="'.$value.'">'.$value.'</a>';
}
public function formatBold($value) {
return '<b>'.$value.'</b>';
}
public function formatArray($value) {
return (is_array($value)) ?
implode(', ', $value) : $value;
}
}
如果您扩展 CFormatter,请更新您项目的 main.php 以指向新文件:
If you extend the CFormatter, update your project's main.php to point to the new file:
// application components
'components' => array(
'format' => array(
'class' => 'application.extensions.CustomFormatter',
),
...
),
示例用法:
'title:bold',
'website:link',
'tags:array',
相关文章