いくつかのyiiコアファイル(具体的には、CGridColumn.phpとCController.php)をオーバーライドする必要があります。これらのクラスが、オーバーライドまたは拡張するコアファイルではなく、アプリケーションで参照されていることを確認する必要があります。どうすればよいですか?それはかなり単純でなければなりませんが、それを行うための文書化された「正しい」方法を見つけることができないようです。
3011 次
2 に答える
5
ベースコントローラーを拡張したい場合:
protected/components ディレクトリに Controller.php を作成します。
class Controller extends CController { public $newProperty; public function newMethod() { ... } }
Controller.php が構成にインポートされていることを確認します。
'import' => array( ... 'application.components.Controller', ... ),
CController ではなく Controller からコントローラーを拡張します。
class ExampleController extends Controller { ... }
CGridColumn を拡張する場合、1 と 2 の手順は同じですが、カスタム クラスで元のクラスをインポートすることを忘れないでください。
Yii::import('zii.widgets.grid.CGridColumn');
class TestColumn extends CGridColumn
{
...
}
そして、それをCGridViewの列配列で使用するだけです
'columns' => array(
array(
'class' => 'TestColumn',
),
),
于 2012-06-29T05:03:57.350 に答える
2
より良いカスタマイズを可能にする共通クラスの拡張
http://www.yiiframework.com/wiki/121/extending-common-classes-to-allow-better-customization/
于 2012-06-29T09:33:33.943 に答える