Как расширить класс View ?

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

Как расширить класс View ?

Сообщение skobanev »

Добрый.
В layout сделал место под верхнюю картинку.
Каким образом можно расширить класс View чтобы завести аттрибут $topImage, чтобы можно им было управлять через представление.
Например в представлении написать

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

$this->topImage = '<img src="...">';
на подобии $this->title.
Заранее спасибо.
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Как расширить класс View ?

Сообщение yiiliveext »

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

$this->params['topImage'] = '<img src="...">';
В layout

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

<div class="top-image">
    <?=$this->params['topImage']?>
</div>
Последний раз редактировалось yiiliveext 2020.02.19, 13:16, всего редактировалось 1 раз.
skobanev
Сообщения: 30
Зарегистрирован: 2019.06.17, 10:03

Re: Как расширить класс View ?

Сообщение skobanev »

Низкий поклон !!!!
azz
Сообщения: 197
Зарегистрирован: 2016.07.06, 17:20

Re: Как расширить класс View ?

Сообщение azz »

А можно расширить класс View

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

namespace app\models\Concrete;

class View extends \yii\web\View {

	/**
	 * content of this var will be printed as <h1>...</h1> at the top of page
	 * @see view\layouts\content.php
	 *
	 * @var string
	 */
	public $titleH1;

	/**
	 * content of this var will be printed as <small>...</small> in the <h1> tag
	 * @see $titleH1
	 *
	 * @var string
	 */
	public $titleSmall;
	
}
web.php

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

'components' => [
.....
	'view' => [
		'class' => app\models\Concrete\View::class,
	],
]
в представлении

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

$this->titleH1 = 'ololo!';
Ответить