你會更好,從CListView中本身延伸,但run()
method in CBaseListView併爲renderItems()
method in 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>
你爲什麼要刪除他們? –
@mashingan:因爲當你仔細設計你的頁面樣式時,使用語義相關的容器,你不希望你的代碼受到像這些div div標記一樣的污染。除非他們以我現在看不到的方式有用......你能嗎? – MEM