Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день.
laravel 5.6
Не могу понять как лучше сделать.
Есть в views переменная.
Допустим
with_sidebar
По умолчанию она должна быть true,
но для некоторых страниц - например для главной false
Во вьюхе понятно - можно сделать например так:
@if($with_sidebar)
<section id="primary" class="content-area">
@include('layouts/main')
</section><!-- #primary -->
@include('layouts/sidebar')
@else
<section id="primary" class="content-area" style="width: 100%">
@include('layouts/main')
</section><!-- #primary -->
@endif
Из вью тоже в общем понятно - просто передаем ее как false
А где лучше задать значение по умолчанию,
ну и может вообще весь список таких возможных параметров?
Не в сети
В зависимости от верстки. Я в нужных шаблонах наследовался от разных шаблонов.
@extends('with_sidebar_layout')
@extends('without_sidebar_layout')
Если хочется сайтбар отключать в рантайме, в зависимости от каких-либо факторов - то тут надо обсуждать предметно (от чего зависит сайдбар). Простых решений, насколько я знаю, laravel и blade не предоставляют.
Не в сети
В зависимости от верстки. Я в нужных шаблонах наследовался от разных шаблонов.@extends('with_sidebar_layout')@extends('without_sidebar_layout')
Да пожалуй для этого случая это более правильно - разные шаблоны.
Но все равно вопрос- где хранить какие нить сквозные переменные для приложения.
Не в сети
Но все равно вопрос- где хранить какие нить сквозные переменные для приложения.
Как правило добавляют какой нибудь ComposerServiceProvider и добавляют туда
https://laravel.com/docs/5.6/providers
https://laravel.com/docs/master/views#p … a-to-views
View::share
Но, если, скажем, сайдбар с рекламой адсенса надо отключать на продвигаемых статьях - то тут проблемы, как и у любого шаблонизатора.
Хорошие решения есть, но они громоздкие, встречал я их только в специфичных проектах, где гибкость шаблона крайне важна.
Не в сети
Страницы 1