Yii zii.widgets.CDetailView - 以HTML代码格式输出一个属性 [英] Yii zii.widgets.CDetailView - Output an attribute as HTML code format
本文介绍了Yii zii.widgets.CDetailView - 以HTML代码格式输出一个属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
><?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',
),
)); ?>
解决方案
您将要使用:
格式:
'attributes'=> array(
'id ',
'title',
'description:html',
'price',
'date',
),
其他格式请参阅 CFormatter 。
甚至可以扩展CFormatter,并创建自己的格式。
<?php
class CustomFormatter extends CFormatter {
public function formatLink($ value){
return'< a href ='。 $值 '>'。$值 '< / A>'。;
}
public function formatBold($ value){
return'< b>。$ value。'< / b>';
public function formatArray($ value){
return(is_array($ value))?
implode(',',$ value):$ value;
如果扩展CFormatter,请更新项目的
//应用程序组件
'组件''main.php 指向新文件: =>数组(
'format'=>数组(
'class'=>'application.extensions.CustomFormatter',
),
...
),
示例用法:
'title:bold',
'website:link',
'tags:array',
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',
),
));?>
解决方案 You will want to use the :html
format:
'attributes'=>array(
'id',
'title',
'description:html',
'price',
'date',
),
For other formats, see 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;
}
}
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',
),
...
),
Example Usage:
'title:bold',
'website:link',
'tags:array',
这篇关于Yii zii.widgets.CDetailView - 以HTML代码格式输出一个属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文