Yii框架,在另一个模块中使用模块

时间:2012-06-15 15:05:25

标签: module yii

如何在另一个模块中调用模块?此代码适用于受保护/控制器中的控制器:

$image = Yii::app()->image->save($photofile, 'some_name','uploadedGal');

但在我的其他模块(admin)的控制器中,我收到此错误。

Property "CWebApplication.image" is not defined. 

我在主配置文件中定义了image模块:

'modules'=>array(
           'image'=>array(
                    'createOnDemand'=>true, // requires apache mod_rewrite enabled
                    'install'=>true, // allows you to run the installer
            ),
            'admin',

),

2 个答案:

答案 0 :(得分:7)

您需要在模块类中包含其他模块组件。像这样:

class AdminModule extends CWebModule
{
    public function init()
    {
        $this->setImport(array(
            'admin.models.*',
            'admin.components.*',
            'image.models.*',
            'image.components.*',
        ));
}

答案 1 :(得分:2)

您可以在config / main.php中导入模块组件,如下所示:

'import'=>array(
    'application.models.*',
    'application.components.*',
    'application.modules.admin.models.*',
        'application.modules.admin.components.*',
            ....
            ....
),

这样就可以为您导入所有模型等。