您最好从 CListView 本身进行扩展,但为run()
CBaseListView 中的方法编写新实现,并为renderItems()
CListView中的方法编写新实现,例如:
Yii::import('zii.widgets.CListView');
class MListView extends CListView{
public function run(){
$this->registerClientScript();
// this line renders the first div
//echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
$this->renderContent();
$this->renderKeys();
//echo CHtml::closeTag($this->tagName);
}
public function renderItems(){
//this line renders the second div
//echo CHtml::openTag($this->itemsTagName,array('class'=>$this->itemsCssClass))."\n";
// copy original code from the function
//echo CHtml::closeTag($this->itemsTagName);
}
}
编辑:
请注意,一些默认的 clistview 功能将无法使用这么多,因为jquery.yiilistview.js将无法在没有标识此列表视图的 id 的情况下工作。
编辑:
从您更新的问题中,您可以这样做,然后:
<div id="some-id">
<?php
$this->widget('ext.extendedwidgets.MListView',array(
'id'=>'some-id', // same id you specified in the div
//... rest of it
'template' => '{items}', // as seen in the chat below
));
</div>