Доброго времени суток, имеется сайт у которого такие модули как форум, чат, личные сообщения и прочее имеют однотипный листинг, к примеру
<div class="listing">
<div class="post">
<div class="title">
<div class="actions"></div>
<div class="time"></div>
</div>
<div class="content"></div>
<div class="bottom"></div>
</div>
</div>
Хочу реализовать это так, что бы когда понадобится что то изменить в листинге, не пришлось колупать вюшки всех модулей.
Сам поступил так:
1. Создал общий шаблон для листинга который будет выступать в роли родителя
<div class="listing" ng-controller="ListingCtrl">
@yield('content')
</div>
2. Вьюшка для конкретного модуля выглядит так
@extends('listing.listing')
@section('content')
@each('forum.list', $categories, 'category')
@stop
3. В листинге forum.list уже подключаю шаблон постов передавая туда необходимые переменные
@include('listing.posts', [
'title' => $category->name,
'icon' => 'forum.category',
'description' => $category->description,
'url' => "./category.php?id={$category->id}",
])
4. И сам listing.posts
<div class="post clearfix icon time content"
data-ng-controller="ListingPostCtrl"
data-post-url="{{$url}}">
<div class="post_head">
<span class="post_icon">
<img src="{{ App\App::icon($icon) }}" alt="">
</span>
<a class="post_title" href="{{$url}}">{{$title}}</a>
</div>
<div class="post_content">{{$description}}</div>
</div>
------------------
Теперь при необходимости достаточно отредактировать файл из шага 1 или 4 и разметка поменяется везде где это нужно. Цель достигнута, но что то подсказывает что это можно сделать проще. Кто то подобное реализовывал?