Laravel Backpack:添加账户设置页字段时找不到控制器与视图求助
Laravel Backpack 自定义账户设置页面字段解决方案
默认情况下,
MyAccountController和账户设置视图文件并不在你的项目app/Http/Controllers目录中,而是存放在 Backpack 包的内部路径:- 控制器路径:
vendor/backpack/crud/src/app/Http/Controllers/Auth/MyAccountController.php - 视图路径:
vendor/backpack/crud/src/resources/views/auth/my_account.blade.php
- 控制器路径:
不要直接修改 vendor 目录下的文件(更新包时会被覆盖),正确的做法是将这些文件发布到你的项目中进行自定义:
发布控制器到项目:
php artisan backpack:publish crud::controllers.auth.MyAccountController执行后,控制器会出现在
app/Http/Controllers/Backpack/Auth/MyAccountController.php发布视图到项目:
php artisan backpack:publish crud::views.auth.my_account执行后,视图会出现在
resources/views/vendor/backpack/auth/my_account.blade.php
添加自定义字段的步骤:
- 打开发布后的
MyAccountController.php,找到setupMyAccountFields方法 - 在
addFields数组中追加你需要的字段,示例:
protected function setupMyAccountFields() { $this->crud->addFields([ [ 'name' => 'name', 'label' => trans('backpack::base.name'), 'type' => 'text', ], [ 'name' => 'email', 'label' => trans('backpack::base.email'), 'type' => 'email', ], // 自定义字段示例 [ 'name' => 'phone', 'label' => '手机号', 'type' => 'text', 'validationRules' => 'nullable|string|max:20', ], ]); }- 如果需要调整页面布局或样式,直接编辑发布后的
my_account.blade.php即可。
- 打开发布后的
内容的提问来源于stack exchange,提问作者Elvys Wong
相关产品推荐
相关产品推荐

