【发布时间】:2014-05-19 06:49:24
【问题描述】:
我对 CGridView 过滤器非常熟悉,它是一个非常可定制的东西。但是生活并不完美,我需要更改几乎完整的 cgridview 布局。 (功能将是相同的[过滤、排序])。
那么我应该如何开始这个“定制”,如何扩展 CGridView 的外观?
仅供参考,我需要这样的东西
【问题讨论】:
标签: php sorting yii filter cgridview
我对 CGridView 过滤器非常熟悉,它是一个非常可定制的东西。但是生活并不完美,我需要更改几乎完整的 cgridview 布局。 (功能将是相同的[过滤、排序])。
那么我应该如何开始这个“定制”,如何扩展 CGridView 的外观?
仅供参考,我需要这样的东西
【问题讨论】:
标签: php sorting yii filter cgridview
如果你打开 CGridView 的类很容易,你会在第 449 行看到:
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();
}
你基本上需要扩展类,把它放在一个文件夹中,你可以在扩展中访问它,并覆盖这个函数中的方法
【讨论】:
要更改网格外观,请不要更改母文件(CGridView.php in yii\framework\zii\widgets\grid)。将 CGridView 扩展为新类并更改 HTML 结构。
Here 是很好的解释。
【讨论】: