доступ к префиксу маршрута в приложении / провайдере - PullRequest
0 голосов
/ 26 мая 2018

У меня есть веб-сайт с несколькими шаблонами, я создал несколько папок для разных шаблонов в моей папке представлений ... но у меня есть 1 шаблон администратора, и я хочу загрузить раздел администрирования из этой папки для всех

в моем маршруте у меня есть что-то вроде

Route::group(['namespace' => 'Cp', 'prefix' => 'cp'  , 'middleware'=>['admin' ,'auth'] ], function()
{

    Route::get('/' ,  'IndexController@index' )->name('index_cp');
});

в app/providers/ViewServiceProvider.php Я динамически меняю папку шаблона на основе сохраненного значения базы данных, но я пытаюсь получить префикс текущего маршрута, поэтому, если его cp, он игнорируетпапка шаблона и загружает шаблон из cp папки

    public function registerViewFinder()
    {
        $request = app(\Illuminate\Http\Request::class);
        dump($request->route()->getPrefix());
        if($request->route()->getPrefix() != 'cp')
        {
         // read from db &  set the template folder 
        }

    }

я получаю эту ошибку

Call to a member function getPrefix() on null

в основном $request->route() возвращает ноль

1 Ответ

0 голосов
/ 26 мая 2018

Я думаю, вместо того, чтобы использовать getPrefix способ, которым вы могли бы использовать is() метод для объекта запроса,

, где метод is делает следующее

Метод is позволяет вам проверить, что URI входящего запроса соответствует заданному шаблону.Вы можете использовать символ * в качестве подстановочного знака при использовании этого метода:

if (request()->is('cp/*')) {
   // do the template switching.
}

ссылка на документ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...