2013-07-29 2 views
1

, когда я пытаюсь вставить больше, чем один из них внутри контейнера, просто появляется contacts.create sub-view. Я не знаю почему.laravel 4 blade включает в себя более одного подзадача

@extends('layout') 

@section('container') 
    @include('contacts.create') 
    @include('products.create') 
@stop 

Просто верните контакты или создайте первый символ @include. оцените помощь.

ответ

2

Вы можете это сделать?

@extends('layout') 

@section('contacts') 
    @include('contacts.create') 
@stop 

@section('products') 
    @include('products.create') 
@stop 
1

Ваш синтаксис для включения в порядке, так что я думаю, у вас есть синтаксические ошибки в файлах лопастных, который вызывает компилятор лопасти не возвращать никакого содержания где-то по пути.

  1. Дважды проверьте, что файл, который вы пытаетесь включить включает лезвие в названии, т.е., расположенного по адресу: /products/create.blade.php

  2. Попробуйте заменить содержимое products.create с простой <p>this is products.create</p> заявление. Если это отображается нормально, вы можете отступить оттуда и снова создать свой файл, чтобы увидеть, что его не отображает.

  3. Вы также можете vardump операторы return из компилятора лезвия, если вы действительно хотите увидеть, что происходит.

Перейти к файлу BladeCompiler.php и найти compileIncludes функция: Добавить это до возвращения заявления:

var_dump(preg_replace($pattern, $replace, $value)); 

просто убедитесь, что вы бежите композитор дамп-автозагрузку после.

Кроме того, вы в настоящее время видите содержимое из макета или только из contacts.create? Если это связано только с контактами, проблема может быть в файле макетов.

Смежные вопросы