我需要覆盖一些yii核心文件 - 特别是CGridColumn.php和CController.php.我需要确保在我的应用程序中引用这些类,而不是它们覆盖或扩展的核心文件.我该怎么做呢?它必须非常简单,但我似乎找不到记录在案的"正确"方法.
如果要扩展基本控制器:
在protected/components目录中创建Controller.php:
class Controller extends CController
{
public $newProperty;
public function newMethod()
{
...
}
}
Run Code Online (Sandbox Code Playgroud)确保在config中导入Controller.php:
'import' => array(
...
'application.components.Controller',
...
),
Run Code Online (Sandbox Code Playgroud)从Controller而不是CController扩展控制器:
class ExampleController extends Controller {
...
}
Run Code Online (Sandbox Code Playgroud)如果要扩展CGridColumn,1和2步骤是相同的,但在您的自定义类中不要忘记导入原始类:
Yii::import('zii.widgets.grid.CGridColumn');
class TestColumn extends CGridColumn
{
...
}
Run Code Online (Sandbox Code Playgroud)
然后在CGridView的列数组中使用它
'columns' => array(
array(
'class' => 'TestColumn',
),
),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2935 次 |
| 最近记录: |