我在高级模板中使用 dektrium yii2-user。我想在 SettingsController 中添加新操作。
我做了什么:
覆盖设置控制器。创建 /frontend/user/SettingsController.php
namespace frontend\controllers\user;
use dektrium\user\controllers\SettingsController as BaseSettingsController;
class SettingsController extends BaseSettingsController
{
public function actionMyview()
{
$this->render('myview');
}
}
创建新视图 /frontend/views/user/settings/view/myview.php 并在组件部分更改 /common/main.php
'view' => [
'theme' => [
'pathMap' => [
'@dektrium/user/views' => '@frontend/views/user'
],
],
],
但它不起作用。当我转到 mysite.com/user/settings/myview 时,我看到没有错误的空白页面。另外我不知道如何覆盖行为,所以我直接在 /vendor/dektrium/yii2-user/controllers/SettingsController.php 中添加了 myview 的访问规则
我怎样才能正确地做那件事?谢谢。