2015-03-11 4 views
0

У меня есть сайт laravel, который я делаю. Я бы хотел, чтобы динамический заголовок был постоянным на каждой отдельной странице (точно так же, как переполнение стека имеет панель уведомлений в верхней части заголовка, содержащее динамический контент).Как сделать глобальный заголовок в laravel

Есть ли способ, которым я могу построить этот динамический контент заголовка и включить его в каждый шаблон клинка, не создавая его изнутри каждого контроллера и передавая его в представление, которое обслуживает этот контроллер? У меня много страниц и контроллеров, и это просто не кажется правильным, если мне нужно перейти к каждому методу контроллера, чтобы включить этот код для сборки заголовка, а затем передать содержимое заголовка в представление.

Я знаю, что один способ сделать это может состоять в том, чтобы просто заполнить заголовок ajax заголовком при каждой загрузке страницы, но это кажется неэффективным, так как я предпочел бы, чтобы содержимое боковой панели было подано со страницей в одно и то же время вместо загрузки страницы, а затем извлечение содержимого заголовка с помощью ajax.

Я также подумал, что, возможно, я мог бы назвать что-то из моего собственного класса BaseController, из которого все контроллеры распространяются, однако, все равно, если бы я передавал переменную в каждый вид View :: make() вручную.

+0

Было бы лучше, чтобы создать шаблон, который включает в себя заголовок (и колонтитул/меню или что-нибудь еще, что идет на каждой странице) , Затем вы нажимаете лезвийные страницы на этот шаблон, чтобы заполнить его. Чтобы вся информация была доступна для него все время, создайте для нее композитор представления. Вы занимались этим? – user3158900

+0

Я не слышал о композиторах взглядов. Сейчас я читаю документацию. Похоже, это может быть то, что я ищу :) Был еще кто-то другой по другому вопросу, который предположил, что возможно переопределить setupLayout() http://stackoverflow.com/a/16470649/107459. Но я собираюсь сначала прочитать «Просмотр композиторов». Благодаря! – justinl

+0

Есть ли композитор представления для ВСЕХ представлений? Так что мне не нужно указывать их в массиве? – justinl

ответ

0

Оказывается Просмотр композиторов было то, что я искал: http://laravel.com/docs/4.2/responses#view-composers

// define a variable that will always be present inside of your header partial View::composer('_partials.header', function($view) { $view->with('count', User::count()); });