Определите макет для уровня пользователя / роли в Laravel 5.7 - PullRequest
0 голосов
/ 23 октября 2018

Добрый день. У меня есть 3 разных уровня / роли в моем проекте, администратор, клиент, занятый

Я хочу определить макет одной страницы в зависимости от уровня, это мой код, я использую Auth :: user

@if(Auth::user()->role === 'employment')
    @extends('layouts.menuemployments')
@elseif (Auth::user()->role === 'admin')
    @extends('layouts.menuadmin')
@elseif(Auth::user()->role === 'customer')
    @extends('layouts.menucustomer')
@endif 

Но когда я попробую это, код покажет мне 3 меню, в чем проблема?

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете использовать этот пример кода.

@php
   if(Auth::user()->role === 'employment') {
      $layoutDirectory = 'layouts.menuemployments';
   } elseif (Auth::user()->role === 'admin') {
      $layoutDirectory = 'layouts.menuadmin';
   } else {
      $layoutDirectory = 'layouts.menucustomer';
   }
@endphp

@extends($layoutDirectory)

Конечно, его можно улучшить, переместив блок @php в промежуточном программном обеспечении, чтобы сделать его намного чище

См. https://laravel.com/docs/5.7/middleware

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