Laravel 5.2 Возможно ли из шаблона BLADE получить мета? (title, keywords)?
Возможно ли из шаблона BLADE получить мета? (title, keywords) ?
Например структура такая:
index состоит из
инклюдим хедер
создаем контент
инклюдим сайдбар
инклюдим футер
Так вот, получается сайдбар появляется на любой странице. Как в нем можно получить мета заголовки не используя js ?
Роутер ссылается на шаблон. В момент подключения контента определенной страницы я делаю так:
Роутер ссылается например на index, в нем содержание такое:
Подскажите пожалуйста как логически туда запихнуть? Если view()->share() вызывается ДО, а
@section('title', 'тут тайтл')
@section('description', 'тут описание')
Не посредственно находятся на странице уже...
Так как контроллер узнает какой Тайтл, если еще страница не загружена. А тайтл определяется на странице...
@section('title', 'тут тайтл')
@section('description', 'тут описание')
Наверно лучшим решением будет тогда так:
Вы также можете передать массив данных во включаемый шаблон:
@include('view.name', ['some' => 'data'])
Получается что то типа этого:
<?php $title = Тут тайтл'; ?>
@section('title', title)
@include('view.name', ['title' => 'title'])
И в секции name мы можем получить наши переменные. Это ли не чудо?
В Битриксе делается так, что довольно удобно. В каждой директории лежит файл .sections.php
В нем прописываются мета данные.
По сути такая логика может быть реализована с помощью view()->share()
То есть до вывода нужной вьюхи, берем данные из нужной .sections.php
И посылаем через view()->share()
Второй вариант более удобный в плане обслуживания сео.
Но не писать мета в контроллере это точно! Потом можно будет сойти с ума в плане обслуживания СЕО
Кто за и против? Есть другие предложения?