Как использовать метаданные страницы в Yii 2? В данной статье ответим на данный вопрос.
Ещё, в этом уроке узнаем как заполнять <title>, и как создавать мета-тэги для нашей страницы.
Для более глубокого понимания рекомендую пройти платный курс по Yii2 от команды WebForMySelf. Для ознакомления есть и бесплатная часть.
Так-же рекомендую пройти курс по фреймворку Yii Михаила Русакова.
Как задан <title> в шаблонах Yii 2?
1 |
<title><?= Html::encode($this->title) ?></title> |
Данный код используется в шаблонах для вывода Мета-заголовка страницы.
Метод encode хелпера Html это обёртка строки как htmlspecialchars или что-то подобное. Это защищает нас от возможных XSS уязвимостей.
Теперь, чтобы что-то отобразилось в свойстве $this->title нужно её задать в виде (view):
1 2 3 |
<p>тут наш вид</p> <? $this->title = "Test Action"; ?> <b>в нём пишем свойство title</b> |
Как заполнить <title> в контроллере (controller)?
1 2 3 4 5 6 7 8 |
<? class MyController extends AppController { public function actionShow() { $this->view->title = "Мой заголовок из контроллера."; return $this->render('show'); } } |
Заполнив свойство
1 |
$this->view->title |
Как заполнить другие метаданные страницы в Yii 2
Использовать будем метод registerMetaTag().
Вот пример для мета-ключевики, и для мета-описание:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php class MyController { public function actionIndex() { $this->view->registerMetaTag([ 'name' => 'keywords', 'content' => 'Ключевики ...' ]); $this->view->registerMetaTag([ 'name' => 'description', 'content' => 'Описание ...' ]); return $this->render('index'); } } ?> |
Заключение
Данным способом можно добавить любые мета-тэги на странице.