$this->description как $this->title во вьюшках.

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
NikVolkov
Сообщения: 83
Зарегистрирован: 2015.03.24, 22:03

$this->description как $this->title во вьюшках.

Сообщение NikVolkov »

Всем привет!

Подскажите, куда добавить, чтобы можно было description в layout указать, как title ($this->title) ?

Через

Код: Выделить всё

$this->registerMetaTag([
    'name' => 'description',
    'content' => 'Description set inside view',
]);
как-то более громоздко получается, что ли...

Другое дело когда сразу:

Код: Выделить всё

 
 $this->title = 'Главная страница';
 $this->description = 'Мега описание для главной страницы';
 
NikVolkov
Сообщения: 83
Зарегистрирован: 2015.03.24, 22:03

Re: $this->description как $this->title во вьюшках.

Сообщение NikVolkov »

Добавил поле в 'yii\web\View', но это, наверно, не лучшая идея...
Не наследоваться же от своего класса, чтобы добавить поле...
Или не париться и использовать registerMetaTag... делема :-)
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: $this->description как $this->title во вьюшках.

Сообщение Dominus »

В vendor лучше ничего не менять, могут быть проблемы с обновлениями!
Лучше пользоваться стандартно и не париться:

Код: Выделить всё

$this->registerMetaTag([
    'name' => 'description',
    'content' => 'Мега описание для главной страницы',
]);
Если очень хочется, то отнаследоваться от yii\webView и добавить то что нужно.

Или еще вариант передавать через $this->params

в View

Код: Выделить всё

$this->params['description'] = 'Мега описание для главной страницы';
в layout

Код: Выделить всё

<meta name="description" content="<?= isset($this->params['description']) ? $this->params['description'] : ''; ?>">
Или через Yii::$app->params
в View или Controller

Код: Выделить всё

Yii::$app->params['description'] = 'Мега описание для главной страницы';
в layout

Код: Выделить всё

<meta name="description" content="<?= isset(Yii::$app->params['description']) ? Yii::$app->params['description'] : ''; ?>">
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
Ответить