自定义Yii2插件而无需接触核心供应商文件夹

时间:2018-06-24 12:33:40

标签: php yii yii2

嗨,我正在使用Yii2插件进行登录和用户管理:https://github.com/webvimark/user-management

我想自定义此插件的视图文件。如何在不接触供应商文件夹中的核心文件的情况下做到这一点?

2 个答案:

答案 0 :(得分:0)

扩展项目中的组件/模块和类

创建用户配置类是从UserConfig扩展的。

class YourClass-UserConfig extends webvimark\modules\UserManagement\components\UserConfig
{
/* Custom As you want  */
}

和UserManagementModule

class YourClass-UserManagementModule extends webvimark\modules\UserManagement\UserManagementModule
{ 
/* Custom As you want */
}

并在配置中添加您的组件

components'=>[
    'user' => [
        'class' => 'YourPackage\YourClass-UserConfig',
    ],
],

'modules'=>[
    'user-management' => [
        'class' => 'YourPackage\YourClass-UserManagementModule',

根据需要在您的班级习俗中。

答案 1 :(得分:0)

您可以使用theming覆盖某些视图文件。在您的配置中:

'components' => [
    // ...
    'view' => [
        'theme' => [
            'pathMap' => [
                '@vendor/webvimark/module-user-management/views' => '@app/views/user-management',
            ],
        ],
    ],
],

然后将您的视图放入@app/views/user-management目录中。


但是,如果不再维护扩展名,则可以考虑分叉扩展名,对fork进行更改并将其用作依赖项。