Наследование блейд-компонентов для отображения коллекций. Laravel 7 - PullRequest
0 голосов
/ 20 апреля 2020

  • Laravel Версия: 7.6.2
  • PHP Версия: 7.3.7
  • Драйвер базы данных и версия: 10.3.16-MariaDB

    Описание:

У меня есть пара анонимных компонентов. Компонент abstract содержит два лезвия yields. В excerpt я хочу определить эти разделы, но, похоже, это не работает. Проблема в том, что каждый пост имеет одинаковые post-content и post-additions. У каждого есть содержание и ссылка, как в первом посте. Все, что не переопределено в excerpt, отображается правильно. Я использовал ту же методологию в Laravel 6, и проблем не было.

Шаги для воспроизведения:

L oop по всем сообщениям views\components\posts\catalogue.blade.php:

@forelse($posts as $post)
    <x-posts.representations.excerpt :post="$post"
                                     :class="($loop->last) ? 'post_box_last' : ''" />
@empty
    <h3>Unfortunately, there are no posts for you..</h3>
@endforelse

Почтовый компонент views\components\posts\representations\excerpt.blade.php:

@extends('components.posts.representations.abstract')
@props(['post'])

@section('post-content')
    <p>{{ $post->excerpt }}</p>
@endsection

@section('post-additions')
    <a href="{{ route('main.posts.show', ['post' => $post->uri_alias]) }}" class="more float_r">Continue Reading</a>
@endsection

Абстрактное почтовое представление views\components\posts\representations\abstract.blade.php:

<div {{ $attributes->merge(['class' => 'post_box']) }}>
    ...
    <div class="post_box_right">
        <h2>{{ $post->name }}</h2>
        ...

        @yield('post-content')

        @yield('post-additions')
    </div>
</div>
...