Yii2只更改一个视图文件的主题

时间:2016-08-25 13:33:18

标签: yii2 theming

我有Yii2应用程序,它使用webvimark/user-management模块来处理用户。我创建了名为UserProfile的附加模型,它增加了一些额外的功能和字段。对于那些感兴趣的人,我按照这个指南: https://github.com/webvimark/user-management/wiki/Profile-and-custom-registration

我完成了所有工作,创建了自定义注册表单以使用新的配置文件字段。我唯一的问题是如何替换模块中包含的原始表单而不修改它。在这里,webvimark建议使用主题来这样做: https://github.com/webvimark/user-management/issues/10

我如何主题只包含一个包含该表单的文件?我不想改变其余部分和所有的主题示例我可以找到覆盖整个目录。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

经过大量的敲击后,事实证明答案非常简单。你必须在整个目录中使用主题,因为显然没有其他选项。但是,我找到了这个little article,它表示一旦你使用主题并且你的控制器试图加载一个视图,那么它将首先在你创建的新主题目录下搜索但是如果在那里找不到它,你回到原来的目录。

换句话说,你覆盖整个目录,但如果你只提供一个新视图,其余视图将保持不变,这非常漂亮。

我发布了我在我的网络配置文件中记下的代码,以防万一有人在路上挣扎:

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