Йцукенг
http://www.yiiframework.com/doc-2.0/yii-base-controller.html#$layout-detail
Mikhail
Берётся из свойства $layout контроллера
А если в контроллере не устанавливается layout?
Mikhail
Из документации: "If false, no layout will be applied."
Mikhail
"Defaults to null, meaning the actual layout value should inherit that from $module's layout value. "
Konstantin
Всем привет! Кто подскажет, можно ли через hasOne связать два поля одной таблицы, или это можно сделать другим спобом? Я попробовал, вроде не работает, хотя проблема может быть в другом.
SiZE
Хоть тридцать три
Konstantin
т.е. если к примеру у меня есть таблица messages с полями id, parent_message, message и я хочу прописать такую связь class Message { ... public function getParentMessage() { return $this->hasOne(Message::className(), ['id' => 'parent_message']); } } то все должно работать?
Mikhail
Всем утра.
Mikhail
А где вы храните свои виджеты?
pavel
widgets
Mikhail
Этот каталог в корне проекта? Просто я такого не вижу, вот и решил уточнить, как принято.
pavel
если басик то в корне, если адвенсед то во фронте или в беке, где ты их собираешься пользоваться
Mikhail
басик
pavel
ну всё в корне создавай папку)) не бойся папки создавать)
Mikhail
Не хочу лезть в чужой монастырь со своим уставом. Если что, до этого 2 года говнокодил под CodeIgniter, но всё равно не покидало ощущение, что что-то делаю не так.
pavel
А есть кто юзал или юзает эту штуку https://github.com/trntv/yii2-starter-kit
SiZE
С отдельными пакетами удобней работать
Кирилл
/ping@Shizoid_bot
Тимур
/ping@Shizoid_bot
Тимур
/ping@Shizoid_bot
Влад
/ping@Shizoid_bot
Vera
/ping@Shizoid_bot
Vera
/ping@Shizoid_bot
Mikhail
А чем отличается advanced от basic?
Mikhail
Мне нужно делать проект с админкой, насколько принципиален в данном случае выбор между advanced и basic?
Mikhail
А как лучше организовать проект, чтобы лэйауты и вьюшки были разделены между админкой и общедоступной частью?
Олег 🇺🇦
в advanced более гибко организованы файлы и грамотнее, но запутаннее может показаться для начинающего
Олег 🇺🇦
лучше advanced брать
Олег 🇺🇦
тем более, если заранее известно, что будет админка
Mikhail
То есть разница лишь в том минимальном наборе контроллеров/виджетов/вьюшек, которые изначально есть после установки?
Олег 🇺🇦
да. И заранее уже фронтэнд и админка разделены на два приложения
Mikhail
Спасибо. Я тут чуть-чуть погуглил, так и есть.
Олег 🇺🇦
и по мелочам всякие вещи сконфигурины более продвинуто, все не вспомню
Олег 🇺🇦
например, в advanced, уже есть скрипт для генерации конфигов для разных окружений
Олег 🇺🇦
в basic ее тоже можно перенести потом при необходимости, но это доп. гембель
Олег 🇺🇦
не раз жалел, что начал какие-то приложения на basic. На нем обычно кажется логичнее делать какие-то простые приложения (часто без админки), но часто приложения растут все же... И плюс с basic как-то проще управляться на shared хостингах, но shared хостинги уже почти вымерли
Mikhail
Спасибо, тогда выберу advanced, чтобы потом не корячиться.
Олег 🇺🇦
можно сказать, что при старте, возможно, нужно чуть больше времени чтоб разобраться и подготовить проект, но в перспективе оно того стоит. Плюс потом привыкаешь
Mikhail
А чем сложнее разворачивание на shared-хосинге?
Олег 🇺🇦
тем, что у них там предопределенный webroot
Олег 🇺🇦
и он один и изменять имя его нельзя, может это мне так повезло. Есть руководства, как это сделать все же, но как по мне это маленький ад https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md
Mikhail
Допустим, есть контроллер с 10 экшенами (или как у вас это принято называть?), в самом начале объявление: use common\models\LoginForm; И используется это только в одном экшене. Внутри экшена контроллера можно подгружать модули или это по-другому принято решать?
Олег 🇺🇦
так это не подгрузка модуля, а использование namespace
Mikhail
ой
Mikhail
позорище
Mikhail
Mikhail
Что я делаю не так?
Олег 🇺🇦
сложно сказать
Олег 🇺🇦
а просто migrate срабатывает?
Mikhail
ДА
Mikhail
Mikhail
Видимо, дело в окружении. Я сейчас под виндой, через стандартную командную строку всё работает.
Mikhail
Mikhail
Mikhail
В экшене указываю layout index.php, но почему-то Yii2 пытается отрендерить layout main.php
Кирилл
А зачем внутри actionInit actionTest? Эт чего-то даёт?
Mikhail
Это не внутри, просто метод свёрнут.
Mikhail
Оба метода доступны по таким адресам: site.ru/rbac/init site.ru/rbac/test
Кирилл
оу, ясно, спасибо) В шторме не работал прост (:
Antony
Например, на джино просто домену назначается любая папка.
На джино как по мне самый приятный shared-хостинг.
Виталий
public function actionPage(string $url)
Виталий
'tel' => 'promo/default/page', 'int' => 'promo/default/page',
Виталий
Как передать в фактический параметр $url экшна сам URL через URLManager?
Toly
'<url:(tel|int)>' => 'promo/default/page',
Konstantin
В экшене указываю layout index.php, но почему-то Yii2 пытается отрендерить layout main.php
`Я не проверял но мне кажется проблема в том что вы наследуетесь от контроллера командной строки yii\base\Controller. Попробуйте yii\web\Controller
Mikhail
Хорошо, попробую ночью.
Antony
Подскажите как сделать консольный контроллер Пробовал по этому туториалу - http://www.yiiframework.com/wiki/646/how-to-implement-cron-in-yii-2/ Но выдает ошибку.
Йцукенг
Какую ошибку?
Antony
Команда не найдена
RoboSpectrum
народ, подскажите начинающему.. нужно использовать bootstrap thumbnails, как его включить? css по стандарту в view не подключены... через asset грузить свой файл бутстрапа?
RoboSpectrum
вот эти нужны http://getbootstrap.com/components/#thumbnails
RoboSpectrum
Antony, я думаю не плохо было бы полностью привести какой командой запускаешь и точный вывод
Konstantin
Кто подскажет, насколько хорошой считается практика обращатся к сервис лакатору из модели? У меня есть модель формы, нужно получить id текущего пользователя. Или лучше получить его через свойство/метод в контроллере? Мне просто кажется что сервис локатор нарушает инкапсуляцию
Олег 🇺🇦
если возможно, то стараюсь в подобных случаях в моделе делать поле в которое снаружи ID юзера передаю
Олег 🇺🇦
в тех же тестах, это гораздо удобнее
Максим
О, сотня! :)
SiZE
Я пожалуй отмечу это дело