Как я могу вставить вид в другой вид в Blade Engine в Laravel - PullRequest
0 голосов
/ 14 декабря 2018

Как я могу вставить блэйд вида в другой вид в блэйд-движке в laravel

Я работаю в проекте, который содержит: home view ...... " home.blade.php "

Я хочу добавить еще одну страницу" home2.blade.php"

Итак, наконец, я получил 1 страницу" home.blade ".php"но он содержит" home2.blade.php"

это home2.blade.php

@extends('layouts.app')

@section('content')

<!-- All Posts -->
@if(count($posts) > 0)

<div class="panel panel-default">
    <div class="panel-heading">
        All Posts
    </div>

    <div class="panel-body">
        <table class="table table-striped task-table">

            <!-- Table Headings -->
            <thead>
                <th>Title</th>
                <th>Content</th>
            </thead>

            <!-- Table Body -->
            <tbody>
            @foreach($posts as $post)
                <tr>
                    <td class="table-text">
                        <div>{{$post->title}}</div>
                    </td>
                    <td class="table-text">
                        <div>{{$post->content}}</div>
                    </td>
                </tr>
            @endforeach
            </tbody>
        </table>
    </div>
</div>

  @endif

  @endsection

и это" home.blade.php"

<html lang="en">
<head>
<meta charset="utf-8">

</head>

 <body data-spy="scroll" data-offset="0" data-target="#navigation">


  <!-- Fixed navbar -->
  <div id="navigation" class="navbar navbar-default navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" 
  data-target=".navbar-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>

    </div>

Ответы [ 3 ]

0 голосов
/ 14 декабря 2018

вы можете использовать директиву @include('filename'). документация по Laravel

<html lang="en">

<head>
    <meta charset="utf-8">

</head>

<body data-spy="scroll" data-offset="0" data-target="#navigation">

<!-- Fixed navbar -->
<div id="navigation" class="navbar navbar-default navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>

        </div>

        @include('home2') <-- your home2.blade.php file will be added here
0 голосов
/ 14 декабря 2018

Хорошо, это то, что я пытался, и я могу подтвердить, что это работает, по крайней мере, для Laravel 5+ (у меня есть L5.2).Вот как я предлагаю вам использовать ваши шаблоны блейдов.

Давайте начнем с того, что для перехода в другой раздел вы должны определить включенный раздел перед определением раздела контейнера.Итак, с этим ясно, я решил эту ситуацию следующим образом:

Я получил шаблон основного лезвия (main.blade.php), который имеет что-то вроде:

<section class="content">
  <!-- Your Page Content Here -->
  @yield('main-content')
</section><!-- /.content -->

Я получил секундуШаблон blade (common.blade.php), в котором есть то, что вы можете показывать на многих страницах и где определен раздел основного контента.Это выглядит так:

@section('main-content')
   <div class="container">
      @yield('extra-content')
   </div>
@endsection

Наконец я получил третий шаблон (test.blade.php), который расширяет основной шаблон и включает в себя общие элементы, которые я хочу показать, но будьте осторожны, потому что порядок важен.Это выглядит так:

@extends('main')
@section('extra-content')
   <div>
      <span> This is a test! </span>
   </div>
@endsection
@include('common')

В вашем контроллере или маршруте (куда бы вы ни вернули свое представление), вы должны вернуть третий шаблон.

Надеюсь, это поможет вам

0 голосов
/ 14 декабря 2018

используйте include() в home.blade.php

Пример: если ваш дом2 находится в resources/views/

@include('home2')
...