Виджет - файл представления из папки с темой

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
rem
Сообщения: 56
Зарегистрирован: 2011.11.22, 16:08

Виджет - файл представления из папки с темой

Сообщение rem »

здравствуйте. подскажите, как можно сделать чтобы виджет загружал файл представления из папки с темой\widget?
пытаюсь указать прямой путь, но файл все равно не видит

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

$this->render(Yii::app()->theme->baseUrl.'/view/widget/widgetTest', array('model'=>$model));
появляется ошибка

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

Виджет WidgetTest не может найти представление "/yii/themes/mytheme/view/widget/widgetTest".
Choo
Сообщения: 154
Зарегистрирован: 2011.09.20, 22:58

Re: Виджет - файл представления из папки с темой

Сообщение Choo »

Ну вообще можно зайти с другой стороны, по умолчанию yii ищет вьюшку в:

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

/themes/mytheme/views/widgetTest/viewName
Т.е. тогда при рендере просто:

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

$this->render('viewName', array('model'=>$model)); 
Аватара пользователя
rem
Сообщения: 56
Зарегистрирован: 2011.11.22, 16:08

Re: Виджет - файл представления из папки с темой

Сообщение rem »

Так-то работает. Но нужно чтобы файлы представления виджета были в одной папке темы, как в components.
Bartholomew
Сообщения: 110
Зарегистрирован: 2010.02.05, 01:58
Откуда: Нижний Новгород
Контактная информация:

Re: Виджет - файл представления из папки с темой

Сообщение Bartholomew »

Папочка у вас точно view, а не views?
Cами виджеты вы где храните? Есть еще такой вариант: хранить их в themes/mytheme/widgets, тогда Yii сможет искать их представления в themes/mytheme/widgets/views.
Или при задании прямого пути попробуйте задавать alias, т.е. webroot.themes.mytheme.views.widget.widgetTest
Аватара пользователя
rem
Сообщения: 56
Зарегистрирован: 2011.11.22, 16:08

Re: Виджет - файл представления из папки с темой

Сообщение rem »

спасибо. но все равно не работает.
в общем сделал для каждого виджета отдельную папку, как писал Choo
TM123
Сообщения: 608
Зарегистрирован: 2011.06.09, 11:18

Re: Виджет - файл представления из папки с темой

Сообщение TM123 »

Посмотрите нет ли метода который задает эту папку, для того лежат представления и layout'ы есть специальные методы, может и тут есть.
Аватара пользователя
beta-tank
Сообщения: 1
Зарегистрирован: 2014.06.16, 17:15

Re: Виджет - файл представления из папки с темой

Сообщение beta-tank »

Вижу что тема старая, но может кому-нибудь пригодится. Для того, чтобы обратиться к вью в произвольной папке (внутри views конечно), достаточно просто поставить второй слэш и прописать путь

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

$this->render('//site/error', [ 'name' => 'Oops', 'message' => 'Service down :(']); 
Ответить