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

Yii2 change the theming for just one view file

我有一个 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

如何只为包含表单的那个文件设置主题?我不想更改其余部分,我可以找到的所有主题示例都会覆盖整个目录。有什么建议吗?

经过大量的思考后发现答案很简单。您必须对整个目录使用主题,因为显然没有其他选择。然而,我发现这个 little article,它说一旦你使用主题并且你的控制器尝试加载一个视图然后它会首先在你创建的新主题目录下搜索但是如果在那里找不到它,你回去到原始目录。

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

我发布了我在网络配置文件中写下的代码,以防有人遇到路径问题:

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