Метаданные страницы в Yii 2

Как использовать метаданные страницы в Yii 2? В данной статье ответим на данный вопрос.

Ещё, в этом уроке узнаем как заполнять <title>, и как создавать мета-тэги для нашей страницы.

Для более глубокого понимания рекомендую пройти платный курс по Yii2 от команды WebForMySelf. Для ознакомления есть и бесплатная часть.

Так-же рекомендую пройти курс по фреймворку Yii Михаила Русакова.

Как задан <title> в шаблонах Yii 2?

<title><?= Html::encode($this->title) ?></title>

Данный код используется в шаблонах для вывода Мета-заголовка страницы.

Метод encode хелпера Html это обёртка строки как htmlspecialchars или что-то подобное. Это защищает нас от возможных XSS уязвимостей.

Теперь, чтобы что-то отобразилось в свойстве $this->title нужно её задать в виде (view):

<p>тут наш вид</p>
<? $this->title = "Test Action"; ?>
<b>в нём пишем свойство title</b>

Как заполнить <title> в контроллере (controller)?

<?
class MyController extends AppController
{
    public function actionShow() {
        $this->view->title = "Мой заголовок из контроллера.";
        return $this->render('show');
    }
}

Заполнив свойство

$this->view->title

Как заполнить другие метаданные страницы в Yii 2

Использовать будем метод registerMetaTag().

Вот пример для мета-ключевики, и для мета-описание:

<?php
class MyController {
    public function actionIndex() {
        $this->view->registerMetaTag([
            'name' => 'keywords',
            'content' => 'Ключевики ...'
        ]);
        $this->view->registerMetaTag([
            'name' => 'description',
            'content' => 'Описание ...'
        ]);
        return $this->render('index');
    }
}
?>

Заключение

Данным способом можно добавить любые мета-тэги на странице.

Valeriu :