Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: Laravel
Войти
Регистрация
Восстановить пароль
 
rnd-ford
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 7
1

Кастомизация списка CSS и JS, в зависимости от шаблона

24.08.2018, 00:58. Просмотров 364. Ответов 2

Сделал основной шаблон 'layouts\index.blade.php', где определил секции 'styles' и 'scripts'.
Создаю "наследника" от этого шаблона.
PHP
1
2
3
4
5
6
@extends('max.layouts.index')
 
@section('content')
  {!! $alert !!}
  {!! $content !!}
@stop
Делаю несколько форм с разными видами input, например datetimepicker на одной форме, и daterangepicker и т.п.
Соответсвенно, для каждой из этих форм, требуется добавить к уже описанным в 'layouts\index.blade.php' разные скрипты и стили.
Можно, конечно, для каждой формы определять свой шаблон, как наследника от 'layouts\index.blade.php', и переопределять соответствующие секции, например

frm1.blade.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@extends('max.layouts.index')
@section('styles')
  @parent
  
  <link rel="stylesheet" href="{{ asset('max/bower_components/bootstrap-daterangepicker/daterangepicker.css') }} ">
 ...
@stop
....
@section('content')
  {!! $alert !!}
  <form>
.....
   </form>
 
@stop
и для другой формы

frm2.blade.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@extends('max.layouts.index')
@section('styles')
  @parent
  
  <link rel="stylesheet" href="{{ asset('max/bower_components/bootstrap-datepicker/datepicker.css') }} ">
....
@stop
....
@section('content')
  {!! $alert !!}
  <form>
.....
   </form>
@stop
Но, не хочется плодить для каждой формы свой шаблон с кучей переопределений для основного, т.к. если надо изменить что-то, то есть большая вероятность, что придется исправлять весь список этих наследников. Например ввести еще одну секцию в основном шаблоне, которая должна отображаться в определенной части наследников, и придется править все.

Я попробовал сделать таким образом, а именно, для каждой формы, таки создаю шаблон, но исключительно формирование самой формы, т.е.
frm1.blade.php
PHP
1
2
3
  <form>
.....
   </form>
и т.д.

А в контроллере, просто формирую контент необходимой формы и отправляю его в шаблон index.blade.php
PHP
1
2
3
 $this->vars['content']=view('max.frm1',$data)->render();
....
return view('max.index',$this->vars);
получается очень удобно, т.к. основной шаблон - один, и шаблоны форм, без лишних описаний.
НО, как дополнять секции styles и scripts, из этих подшаблонов?

если использовать
PHP
1
2
3
@section('styles')
  @parent
....
то, естественно, секция в шаблоне родителя не переопределяется, т.к. подшаблон уже прошел render.
Думал описать переменные в подшаблоне, чтобы их можно было отобразить в родителе, но не нашел способа передачи переменных из шаблона в контроллер.

Подскажите, как можно в данном случае, передавать дополнения для секций стилей и скриптов шаблона родителя? Или может есть другой способ, не создавать для каждой формы своего наследника?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2018, 00:58
Ответы с готовыми решениями:

Css шаблона перекрывает css админки битрикса
Здравствуйте. Подскажите пожалуйста как исправить такую проблему : У меня есть шаблон сайта со...

Переключение шаблона в зависимости от устройсва
Как реализовать переключение между шаблона, т.е. заходишь с мобильного телефона открывается...

Поиск списка Х в списке У и редактирование списка Х в зависимости от результата
Привет. Есть 2 списка, в одном хранятся пользовательские данные, а в другом длинный список номеров...

Как задать фильтр списка в зависимости от другого списка?
Наверняка глупый вопрос но я чайник, Ситуация следующая: имеются связанные таблицы 1. станции...

Взаимодействие модуль и CSS шаблона
Изучаю Joomla, возник такой вопрос, как я понял модуль это кусок кода, который я могу вставить в...

2
Para bellum
Эксперт PHP
4188 / 3117 / 1011
Регистрация: 06.01.2011
Сообщений: 9,092
24.08.2018, 06:14 2
В документации всё есть: https://laravel.com/docs/master/blade#stacks
0
rnd-ford
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 7
24.08.2018, 08:03  [ТС] 3
Цитата Сообщение от Para bellum Посмотреть сообщение
В документации всё есть: https://laravel.com/docs/master/blade#stacks
Спасибо, хоть есть куда "копать", с английским не силен, но вроде похоже на то, что искал.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2018, 08:03

Неисправность css шаблона wordpress
Есть тема на wordpress, уже имеющая адаптивный дизайн. Проблема в том, что при уменьшении экрана,...

Вёрстка шаблона psd, HTML-CSS
Помогите как сверстать из psd сайт ,3 недели мучаюсь не как не выходит . если онлайн сервис...

Управление позиции макета шаблона в CSS
Как content сдвинуть налево, а right на право? что конкретнее прописывать в стилях css? помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru