Почему я не могу видеть объект как часть модуля ?.Laravel 4 Templating like .NET
В .NET у вас есть вид и код позади. Иногда нам нужно сделать что-то, что соответствует этой логике, например, сетке с виджетами внутри каждой ячейки. Обычно у виджета есть небольшая коробка с заголовком и контентом, с небольшой логикой, как я могу включить частичное подобное в другое представление, подобное этому.
@extends('jarvis.admin._layouts.default')
@section('title')
Dashboard
@stop
@section('main')
<div class="row-fluid">
<div class="span4">
@yield('first')
<div class="jarviswidget" id="widget-id-00">
<header>
<h2>{{ $widget['title'] }}</h2>
</header>
<div>
<div class="jarviswidget-editbox">
<div>
<label>{{ ucfirst(Lang::get('strings.title')) }}:</label>
<input type="text">
</div>
<div>
<label>{{ ucfirst(Lang::get('strings.style')) }}</label>
<span data-widget-setstyle="red" class="red-btn"></span>
<span data-widget-setstyle="green" class="green-btn"></span>
<span data-widget-setstyle="purple" class="purple-btn"></span>
<span data-widget-setstyle="black" class="black-btn"></span>
<span data-widget-setstyle="darkgrey" class="darkgrey-btn"></span>
</div>
</div>
<div class="jarviswidget-timestamp"></div>
<div class="inner-spacer">
<!-- content goes here -->
@yield('wg_content')
Content
</div>
</div>
</div>
</div>
<div class="span4">
@yield('second')
<div class="jarviswidget" id="widget-id-00">
<header>
<h2>{{ $widget['title'] }}</h2>
</header>
<div>
<div class="jarviswidget-editbox">
<div>
<label>{{ ucfirst(Lang::get('strings.title')) }}:</label>
<input type="text">
</div>
<div>
<label>{{ ucfirst(Lang::get('strings.style')) }}</label>
<span data-widget-setstyle="red" class="red-btn"></span>
<span data-widget-setstyle="green" class="green-btn"></span>
<span data-widget-setstyle="purple" class="purple-btn"></span>
<span data-widget-setstyle="black" class="black-btn"></span>
<span data-widget-setstyle="darkgrey" class="darkgrey-btn"></span>
</div>
</div>
<div class="jarviswidget-timestamp"></div>
<div class="inner-spacer">
<!-- content goes here -->
@yield('wg_content')
Content
</div>
</div>
</div>
</div>
<div class="span4">
@yield('third')
<div class="jarviswidget" id="widget-id-00">
<header>
<h2>{{ $widget['title'] }}</h2>
</header>
<div>
<div class="jarviswidget-editbox">
<div>
<label>{{ ucfirst(Lang::get('strings.title')) }}:</label>
<input type="text">
</div>
<div>
<label>{{ ucfirst(Lang::get('strings.style')) }}</label>
<span data-widget-setstyle="red" class="red-btn"></span>
<span data-widget-setstyle="green" class="green-btn"></span>
<span data-widget-setstyle="purple" class="purple-btn"></span>
<span data-widget-setstyle="black" class="black-btn"></span>
<span data-widget-setstyle="darkgrey" class="darkgrey-btn"></span>
</div>
</div>
<div class="jarviswidget-timestamp"></div>
<div class="inner-spacer">
<!-- content goes here -->
@yield('wg_content')
Content
</div>
</div>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span12">
</div>
</div>
@stop
Где каждый @yield загрузит небольшой виджет обрабатывающего немного логики или даже другой шаблон с другим видом вложенным.
Например, @yield ('first') загрузит окно, которое представляет собой другой шаблон с выходом внутри, и переменную как заголовок. Этот вложенный доход будет иметь другой доход или контент ... тогда тот же самый ящик, который мы используем для коробки, будет использоваться в другой раз для рендеринга @yield ('second') с другим заголовком и другим контентом, который может использоваться так же, как и первый выход.
Я не понимаю, как сделать этот каскад с помощью системы шаблонов лезвий. Есть ли способ сделать что-то подобное?
Я знаю, что это сложно, но если вы когда-либо использовали .net, вы могли бы понять, что я имею в виду.
Спасибо и извините за мой английский.
У этого есть сходство с моделью HMVC, но это не то же самое.
Вы нашли решение? Обычно я обрабатываю шаблон и частичные части клиента с помощью AngularJS и его директив, например, но только потому, что мне не нужна операция на стороне сервера (в противном случае мне придется отправить новый запрос на сервер для этой цели) –