我非常熟悉CGridView过滤器,它是一个非常可定制的东西。但生活并不完美,我需要改变cgridview的布局,几乎是完整的。 (功能将相同[过滤,排序])。
那么我应该如何开始这个"自定义",如何扩展CGridView的外观?
仅供参考我需要这样的
答案 0 :(得分:0)
如果你打开第449行所见的CGridView
课程,这很容易:
public function renderItems()
{
if($this->dataProvider->getItemCount()>0 || $this->showTableOnEmpty)
{
echo "<table class=\"{$this->itemsCssClass}\">\n";
$this->renderTableHeader();
ob_start();
$this->renderTableBody();
$body=ob_get_clean();
$this->renderTableFooter();
echo $body; // TFOOT must appear before TBODY according to the standard.
echo "</table>";
}
else
$this->renderEmptyText();
}
你基本上需要扩展类,将它放在一个可以在扩展中访问它的文件夹中,并覆盖此函数中的方法
答案 1 :(得分:0)
要更改网格外观,请不要更改母文件(CGridView.php in yii\framework\zii\widgets\grid
)。将CGridView扩展为新类并更改HTML结构。
Here是一个很好的解释。