自定义/扩展CGridView小部件YII

时间:2014-05-19 06:49:25

标签: php sorting yii filter cgridview

我非常熟悉CGridView过滤器,它是一个非常可定制的东西。但生活并不完美,我需要改变cgridview的布局,几乎是完整的。 (功能将相同[过滤,排序])。

那么我应该如何开始这个"自定义",如何扩展CGridView的外观?

仅供参考我需要这样的enter image description here

2 个答案:

答案 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是一个很好的解释。