Laravel Route Group для Представлений

У меня есть ниже конфигурации в моем Laravel /routes/web.php:

Route::group(['prefix' => 'admin'], function(){
Route::get('/', function() {
return view('admin.login');
});
});

Если вы наблюдаете, я упомянул view('admin.login') это звонки /resources/views/admin/login.blade.php, Который остается в силе на данный момент.

Но для этой группы маршрутов у меня будут все мои взгляды внутри /resources/views/admin, Таким образом, я не хочу использовать admin перед каждым взглядом-именем.

Есть ли возможный параметр в Route::group уровень, на котором я могу определить пространство имен своих представлений, чтобы Laravel искал мои представления в определенном каталоге внутри /resources/views/?

1

Решение

Я столкнулся с той же проблемой и создал вспомогательную функцию, она работала …
добавлен каталог помощников в каталоге приложения app\Helpers\functions.php

function adminView($file){
return view('foo.' . $file);
}

в файле composer.json зарегистрирован этот файл

"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"},
"files": ["app/Helpers/functions.php"]
},

просто беги composer dump-autoload и вы можете использовать эту вспомогательную функцию

1

Другие решения

Ты можешь использовать

View::addNamespace('admin', '/path/to/admin/views'); или же View::addLocation('/path/to/your/admin/views');

указать вашу папку просмотра администратора в вашем файле маршрута.

с первым методом вы можете использовать
return view('admin::view.name'); а со вторым методом вы можете использовать имя представления прямо как return view('view.name');

1

По вопросам рекламы [email protected]