2016-09-19 3 views
8

나는 laravels 블레이드 레이아웃을 고수하는 데 어려움을 겪고있다.Laravel 블레이드 - 여러 레이아웃?

인터넷상의 모든 예시 및 문서 (예 : laravel 문서 : https://laravel.com/docs/5.3/blade 또는 YouTube의 비디오 자습서)는 하나의 master.blade.php 만 레이아웃으로 사용합니다.

더 복잡한 프로젝트의 모범 사례가 있습니까?

  • 제품
  • 카테고리
  • 블로그
  • 분류
  • 관리
  • 로그인/인증
  • :

    다음 콘텐츠 형식

    는 내 프로젝트에 포함되어 있습니다

이러한 콘텐츠 형식의 모든가 다른 레이아웃이 있습니다 바로

  • 다른 왼쪽/헤더

    • 다른/아니오 사이드 바
    • 사이드 바
    • 아무 내용도 전에/배너
    • 다른/없다 메뉴 없음
    • 다른/아니 빵 부스러기

    그래서 내가

    1. 새로운 레이아웃 파일을 만들 ... 어떤 상황에서 모른다 (예를 들어, /views/layouts/product.blade.php)와 ...

    ) ("layouts.product"(@extends와 /views/pages/product.blade.php에) 내 페이지를 확장하거나 ...

    1. 모든 유형이 모두 포함 된 레이아웃 파일을 하나만 사용하고 각 유형의 페이지 파일에 섹션으로 구현하십시오.

    이 하나가 나를 미치게 만들었고 레이아웃을 사용하거나 사용하지 않는 것이 가장 좋습니다.

    도움을 주셔서 감사합니다.

  • +0

    매우 일반적인 레이아웃을 사용하고 사이드 바 및 기타 부분에 'include'를 사용할 수 있습니다. – Hammerbot

    답변

    3

    마스터 레이아웃을 확장 한 다음 @include@each을 사용하여 사이드 바, 바닥 글, 헤더, 배너보기 등을 포함하는 것이 좋습니다. 이것은 큰 프로젝트의 경우에도 완벽하게 작동합니다. 때때로 당신은 조건이 포함에 대한 @if 연산자를 사용하려면 :

    @if (condition) 
        @include('some.view') 
    @else 
        @include('another.view') 
    @endif 
    
    5

    레이아웃 구조는 쉽게이 크게 직관적 인 폴더 구조로 구성 레이아웃과 파셜을 유지하는 것이 좋습니다 이유 즉, 엉망이 될 수 있습니다.그렇게함으로써 미래에 앱이 성장할 때 깨끗하고 체계적으로 유지할 수 있습니다. 그것은 또한 당신이 작업하고있는 프로젝트의 종류에 달려 있습니다. 믿거 나 말거나, 때로는 폴더 구조가 프로젝트마다 다릅니다.

    내가 아는 한, Laravel에 특정한 레이아웃 폴더를 구성하는 방법에 대한 "모범 사례"가 없지만 여기 내 프로젝트를 구성하는 방법에 대한 예제가 있습니다. (그리고 내 Laravel 응용 프로그램 모두에서 작동했습니다. 가) :

    views/ 
    ├── v1/ 
    │ ├── master 
    | | ├── master-public.blade.php 
    | | ├── master-admin.blade.php 
    | | ├── master-user.blade.php 
    | ├── components 
    | │ ├── navigation 
    | | | ├── public.blade.php 
    | | | ├── admin.blade.php 
    | | | ├── user.blade.php 
    | | ├── headers 
    | | ├── footers 
    | ├── views 
    | | ├── home 
    | | ├── chat 
    | | ├── order 
    | | ├── reports 
    | ├── partials 
    | | ├── ads.blade.php 
    | | ├── sidebar.blade.php 
    | ├── public 
    | | ├── registration.blade.php 
    | | ├── login.blade.php 
    ├── v2/ 
    └── v2.2/ 
    

    여기에 언급 가장 중요한 것은 내 의견 디렉토리 안에 내가 내 응용 프로그램에서 가진 결국 각 경로별로 폴더를 만들 수 있다는 것입니다.

    또한 웹 폴더의 UI 버전을 상위 폴더로 갖는 것이 중요하다고 생각합니다. 때로는 UI를 재실행 할 때 동일한 디렉토리에 파일을 저장하는 경향이 있습니다. 이는 동일한 폴더에 사이트의 다른 버전에 대한 파일을 저장하게되므로 오래 걸리지 않습니다.

    희망적으로 도움이됩니다.

    환호성과 행운!

    +0

    UI의 버전을 부모 폴더로 사용하는 것이 좋습니다. 1 년 후 아직도이 일을하고 계십니까? –

    +2

    @PierreLeBot 생산 단계에서 아직하고 있습니다. 블레이드 뷰를 구성하는 특별한 방법은 일반적으로 AB 테스트 및 버전 관리에 유용합니다. 처음부터 시작해서이 구조를 고수하기를 원한다면 Laravel 프로젝트 내에서 모든 UI 관련 항목을 포함하고 git 태그로 각 버전을 커밋하는 git 하위 모듈을 만드는 것이 더 나은 방법 일 것입니다. 그렇게하면 새로운 버전마다 많은 파일을 복사/붙여 넣기 할 필요가 없어 앱 크기가 훨씬 작아집니다. 현재 저는 모든 의견을 VueJS로 옮깁니다. 희망이 도움이! – idelara

    관련 문제