2011-12-01 158 views
1

我想放入CDetailView窗口小部件的一行中显示另一个窗口小部件的文本。我如何链接这两个?放入CDetailView窗口小部件另一个窗口小部件

$this->widget('zii.widgets.CDetailView', array(
'data'=>$model, 
'attributes'=>array(
    array( 
       'label'=>'TextHighlighter', 
       'type'=>'raw', 
       'value'=>'this system.web.widgets.CTextHighlighter widget', 
     ), 
),)); 

回答

1

扩展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类,它返回CTextHighlighter输出formatTexthighligter()方法。

或者在这里读一些其他的方法http://www.yiiframework.com/wiki/278/cgridview-render-customized-complex-datacolumns/

相关问题