使用PHP框架Yii。如您所知,默认的CGridView表CSS类是items
。好吧,我想改变这个值。我知道一个特定的小部件是可能的。像这样:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'user-grid',
'dataProvider'=>$model->search(),
'columns'=>array(),
'itemsCssClass'=>'gridtablecss',
)); ?>
但是如何为整个Yii应用程序执行此操作?我的意思是默认另一个类而不是items
答案 0 :(得分:3)
如果您只想为每个小部件设置一些静态参数,那么您不需要扩展该类。您也可以使用Yii的widgetFactory
组件。您可以在main.php
配置文件中配置它。
'components' => array(
// ...
// Default properties for some widgets
'widgetFactory' => array(
'widgets' => array(
'CGridView' => array(
'itemsCssClass' => 'gridtablecss'
),
),
),
),
答案 1 :(得分:0)
在您的extensions文件夹中创建另一个php文件,并将其命名为MyGridView.php:
<?php
Yii::import('zii.widgets.grid.CGridView');
class MyGridView extends CGridView {
public function init() {
// Set default CSS class
$this->itemsCssClass = 'gridtablecss';
// Other modifications, i.e.: Increase page size
if ($this->dataProvider !== null)
$this->dataProvider->pagination->pageSize = 999999;
parent::init();
}
}
现在不使用CGridView,而是使用新的CGridView:
<?php $this->widget('MyGridView', array(
确保您的 main.php 配置文件正在导入扩展程序:
'import' => array(
'application.extensions.*',
...
),
您也可以用同样的方式扩展CListView(以及其他类似的核心Yii类)。