programing

블레이드의 조건부 확장

oldcodes 2023. 10. 26. 21:41
반응형

블레이드의 조건부 확장

조건부로 할 수 있는 방법은 없을까요?@extends블레이드 템플릿 언어로 설명할 수 있습니까?

내가 시도한 것:

@if(!Request::ajax())
    @extends('dashboard.master')
    @section('content')
@endif

<div class="jumbotron">
    Hey!
</div>

@if(!Request::ajax())
    @stop
@endif

산출량

요청이 AJAX가 아닐 때 출력되었습니다.@extends('dashboard.master'), 하지만 AJAX 요청은 잘 되었습니다.

내가 하려는 일은

마스터 템플릿 포함 중지(포함)header그리고.footerAJAX의 경우 요청한 내용을 쉽게 표시할 수 있습니다.

@extends((( Request::ajax()) ? 'layouts.ajax' : 'layouts.default' ))

마스터 레이아웃에서:

   @if(!Request::ajax())

       //the master layout with @yield('content'). i.e. your current layout

   @else

       @yield('content')

   @endif

이런 종류의 논리는 템플릿에서 제외되어야 합니다.

컨트롤러 설정에서$layoutdashboard.master가 될 속성입니다. 그런 다음 보기 또는 응답을 반환하는 전화 대신 다음으로 종료합니다.$this->layout->content = View::make('dashboard.template')

이에 관한 라라벨 문서를 보십시오.

결국 이런 일이 생길 수도 있습니다.

<?php

class Something extends BaseController {

    $layout = 'dashboard.master';

    public function getIndex()
    {
        $template = View::make('dashboard.template');

        if(Request::ajax()) {
            return $template;
        }

        $this->layout->content = $template;
    }
}

언급URL : https://stackoverflow.com/questions/18524365/conditional-extends-in-blade

반응형