我想把从另一个小部件显示的文本放入CDetailView小部件的一行。我怎么把这两者联系起来?
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
array(
'label'=>'TextHighlighter',
'type'=>'raw',
'value'=>'this system.web.widgets.CTextHighlighter widget',
),
), ));
扩展CFormatter,创建一个自定义类,它将调用CTextHighlighter小部件并返回渲染值。
然后将格式化器传递给DetailView
$myCustomformat=new myFormat();
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'formatter'=>$myCustomformat,
'attributes'=>array(
array(
'label'=>'Label',
'type'=>'texthighligter',
'value'=>'$model->data',
),
), ));
这将调用myFormat类中的formattexthighliter()方法,该方法将返回CTextHighlighter输出。
或者在这里阅读其他方式http://www.yiiframework.com/wiki/278/cgridview-render-customized-complex-datacolumns/