Skip to content

Latest commit

 

History

History
47 lines (40 loc) · 2.8 KB

115-116 Использование декоратора.md

File metadata and controls

47 lines (40 loc) · 2.8 KB

Использование декоратора

В Yii мы можем вложить Контент в декоратора. Общее использование декораторов - layout. При рендеринге вида с помощью метода рендеринга контроллера Yii автоматически украшает его основным макетом. Давайте создадим простой декоратор, который будет правильно форматировать цитаты.

Подготовка

Создайте новое приложение с помощью composer, как описано в официальном руководстве по http:https://www.yiiframework.com/doc-2.0/guide-start-installation.html. по русски http:https://yiiframework.domain-na.me/doc/guide/2.0/ru/start-installation

Как это сделать...

1 Во-первых, мы создадим файл декоратора, @app/views/decorators/quote.РНР:

<div class="quote">
	<h2>&ldquo;<?= $content?>&rdquo;, <?= $author?></h2>
</div>

2 Теперь замените содержимое @app/views/site/index.php со следующим кодом:

<?php
use yii\widgets\ContentDecorator;
/* @var */
?>
<?php ContentDecorator::begin([
	'viewFile' => '@app/views/decorators/quote.php',
	'view' => $this,
	'params' => ['author' => 'S. Freud']
]);?>
Time spent with cats is never wasted.
<?php ContentDecorator::end();?>

3 Теперь ваша Домашняя страница должна выглядеть следующим образом:

Как это работает…

Декораторы довольно просты. Все между contentDecorator::begin() и contentDecorator::end() оказывается в переменной $content и передается в шаблон "декоратор". Затем шаблон декоратора визуализируется и вставляется в то место, где был вызван ContentDecorator::end. Мы можем передать дополнительные переменные в шаблон декоратора, используя второй параметр ContentDecorator::begin (), такой как тот, который мы сделали для автора. Обратите внимание, что мы использовали @app/views/decorators/quote.php как путь представления.

Смотрите так же