Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 08.06.2014 18:43:45

stuchin
Откуда: Волгоград
Сообщений: 68

глобальные переменные в шаблонах

мой кусок  основного шаблона (master.blade.php)

@include('a1')

@include('a2')

в шаблоне а1 я определяю переменную и хочу ее передать в шаблон a2
но там она не определяется.

как можно определить переменную, чтобы она работала во всех шаблонах, из готорых стостоит master.blade.php

или может есть какой нибудь правильный способ

Не в сети

#2 08.06.2014 19:55:32

Re: глобальные переменные в шаблонах

@include('a1', array('var1' => $vvvar))

Либо если имена совпадают:

@include('a1', compact('var1'));

Либо совсем уж грязный метод:

@include('a1', get_defined_vars())

Не в сети

#3 08.06.2014 20:25:41

stuchin
Откуда: Волгоград
Сообщений: 68

Re: глобальные переменные в шаблонах

непонятно как то

в шаблоне a1 я определяю переменную title,
а шаблоне а2 я ее вывожу, причем эти шаблоны инклюдятся в один мастер шаблон.
тоесть можно ли сделать эту переменную глобальной во всем шаблоне. или это не очень правильно.

Не в сети

#4 08.06.2014 22:36:25

Re: глобальные переменные в шаблонах

У вас неверная логика. Шаблон не может генерировать данные и передавать их куда-то - наоборот, ему контроллер должен передавать все нужное.

Если у вас где-то в шаблоне используся title - пусть он генерируется контроллером и передается как переменная.

Как другой вариант советую почитать про составителей шаблонов в документации.

Не в сети

#5 09.06.2014 06:27:32

stuchin
Откуда: Волгоград
Сообщений: 68

Re: глобальные переменные в шаблонах

согласен надо делать правильно, переменные надо из контролера брать, так более понятна программа становитсяю

Не в сети

Подвал раздела