Yii2

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Регистрация тэгов link yii 2

Регистрация тэгов link

Как и мета тэги, link тэги полезны во многих случаях, как, например, задание уникальной favicon, указание на RSS фид или указание OpenID сервера для авторизации. С link тэгами можно работать аналогично работе с мета тэгами, вызывая метод [[yii\web\View::registerLinkTag()]]. Например, вы можете зарегистрировать link тэг в виде таким образом:

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Регистрация мета-тэгов в yii 2

Регистрация мета-тэгов

На веб страницах обычно есть мета-тэги, которые часто используются различными сервисами. Как и заголовки страниц, мета-тэги выводятся в <head> и обычно генерируются в шаблонах.

Если вы хотите указать, какие мета-тэги генерировать в видах, вы можете вызвать метод [[yii\web\View::registerMetaTag()]] в виде так, как в примере ниже:

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Доступ к данным в шаблонах в yii 2

Доступ к данным в шаблонах

Внутри шаблона, у вас есть доступ к двум предопределенным переменным: $this и $content. Первая представляет собой [[yii\base\View|вид]] компонент, как и в обычных видах, тогда как последняя содержит результат рендеринга вида, который рендерится при вызове метода [[yii\base\Controller::render()|render()]] в контроллерах.

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Рендеринг в видах в Yii 2

Рендеринг в видах

Вы можете рендерить вид внутри другого вида используя методы, которые предоставляет [[yii\base\View|компонент вида]]:

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Установка заголовков страниц в yii 2

Установка заголовков страниц

У каждой страницы должен быть заголовок. Обычно заголовок выводится в шаблоне. Однако на практике заголовок часто определяется в видах, а не в шаблонах. Чтобы передать заголовок из вида в шаблон, используется свойство [[yii\web\View::title|title]].

В виде можно задать заголовок таким образом:

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Рендеринг в контроллерах yii 2

Рендеринг в контроллерах

Внутри контроллеров можно вызывать следующие методы рендеринга видов:

  • [[yii\base\Controller::render()|render()]]: рендерит именованный вид и применяет шаблон к результату рендеринга.
  • [[yii\base\Controller::renderPartial()|renderPartial()]]: рендерит именованный вид без шаблона.
  • [[yii\web\Controller::renderAjax()|renderAjax()]]: рендерит именованный вид без шаблона, и добавляет все зарегистрированные JS/CSS скрипты и стили. Обычно этот метод применяется для рендеринга результата AJAX запроса.
  • [[yii\base\Controller::renderFile()|renderFile()]]: рендерит вид, заданный как путь к файлу или алиас.

Например,

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Рендеринг в других местах Yii 2.0

Рендеринг в других местах

Вы можете получить доступ к [[yii\base\View|виду]] как компоненту приложения вот так: Yii::$app->view, а затем вызвать вышеупомянутые методы, чтобы отрендерить вид. Например,

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Использование шаблонов в yii 2

Использование шаблонов

Как было описано в секции Рендеринг в контроллерах, когда вы рендерите вид, вызывая метод [[yii\base\Controller::render()|render()]] из контроллера, к результату рендеринга будет применен шаблон. По умолчанию будет использован шаблон @app/views/layouts/main.php .

Вы можете использовать разные шаблоны, конфигурируя [[yii\base\Application::layout]] или [[yii\base\Controller::layout]]. Первый переопределяет шаблон, который используется по умолчанию всеми контроллерами, а второй переопределяет шаблон в отдельном контроллере. Например, код внизу показывает, как можно сделать так, чтобы контроллер использовал шаблон @app/views/layouts/post.php при рендеринге вида. Другие контроллеры, если их свойство layout не переопределено, все еще будут использовать @app/views/layouts/main.php как шаблон.

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Рендеринг в виджетах в Yii 2

Рендеринг в виджетах

Внутри виджетов, вы можете вызывать следующие методы для рендеринга видов.

  • [[yii\base\Widget::render()|render()]]: рендерит именованный вид.
  • [[yii\base\Widget::renderFile()|renderFile()]]: рендерит вид, заданный как путь файла или алиас.

Например,

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Безопасность в Yii 2.0

Безопасность

При создании видов, которые генерируют HTML страницы, важно кодировать и/или фильтровать данные, которые приходят от пользователей перед тем как их показывать. В противном случае ваше приложение может стать жертвой атаки типа межсайтовый скриптинг

Чтобы показать обычный текст, сначала кодируйте его с помощью [[yii\helpers\Html::encode()]]. В примере ниже имя пользователя кодируется перед выводом:

Подкатегории