Артур
работает главная и то пришлось
Артур
в корне прописать .htaccess
Артур
а так бы тоже не работало(
Артур
сори
Артур
тупонул)
Ilya 🃏
Народ, а нельзя загрузить все экшены из одного неймспейса?
Ilya 🃏
Ilya 🃏
хочу это сократить)
Ilya 🃏
Как костыль думаю просто считать все названия файлов из папки и генерировать такой же массив) Но это костыль, хочется проще и лучше)
Ilya 🃏
Никто такого не делал? 😢
Yuriy
я бы заюзал yii\helpers\FileHelper::findFiles(), который строил бы массив экшинов
Yuriy
если не в одном контроллере необходиа эта беда, то лучше сделать behavior с таким функционалом
Yuriy
да и через behavior ващпе красиво получится)
Ilya 🃏
да не получилось у меня что-то через behaviour)
Ilya 🃏
может я неправильно понял, как он работает
Ilya 🃏
я создал behavior-файл GuestBehavior, но подключить его не смог к странице)
Ilya 🃏
к контроллеру*
Ilya 🃏
$this->attachBehavior ругается, говорит нельзя
Ilya 🃏
в инете нигде не нашел, как подключить его к контроллеру)
Yuriy
http://www.yiiframework.com/doc-2.0/yii-base-component.html#behaviors()-detail
Ilya 🃏
Ilya 🃏
Подключил
Ilya 🃏
вот сам behavior
Ilya 🃏
Ilya 🃏
но при попытке открыть экшен slug выводит 404
Ilya 🃏
я просто не понимаю принцип работы поведений, если подскажете что изменить, чтобы все заработало, я хоть что-то пойму)
Ilya 🃏
для чего и как)
Ilya 🃏
Так разве публичные методы поведения не должны быть доступны в контроллере?
Yuriy
наверное как-то так лучше behavior: class ActionListBehavior extends Behavior { public function generateActionList() { /*...*/ } } controller: class SiteController extends Controller { public function behaviors() { return ['frontend\behaviors\ActionListBehavior']; } public function actions() { return $this->generateActionList(); } ...
Anonymous
Anonymous
Ребятуни! Нужен тим лид на проекты на php yii 1 (в идеале full stack) Команда 4 человека (3 разработчика + верстальщик) Москва (Пушкинская), офис, 5/2. Зп 130-200. Посоветуйте кого нибудь?
SiZE
Мы поняли
Anonymous
Мы поняли
все равно нужен
SiZE
Мой круг в помощь )
Nurik
Сделали из Морфеуса гомосека. Дакфейс
SiZE
Там вроде щас все ошиваются
Anonymous
Мой круг в помощь )
не помогает мой круг
🎅
не помогает мой круг
Все хотят тим лида, вы возмите джуниора и взрастите его.
SiZE
Сэкономьте. Обучите одного из команды
Anonymous
а что если все хотят быть разработчиками, и не отвечать за коменду и проект?
SiZE
И правильно )
Anonymous
не, ну круто когда советы по делу) а так то что)
Nurik
У Вас получается TM + PM
Anonymous
у нас собственный проект, а не штат программистов из 150 человек
Anonymous
нет необходимости нанимать сто пятьсот людей, где каждый будет отвественнен за какую то малую часть
Anonymous
объемы того не требуют
Artur‌‌‌
че за проект?
Artur‌‌‌
ссылку в студию
Anonymous
несколько информационных порталов
Anonymous
Novostroy-М.ru Novostroy-SPb.ru Novoseli.ru Novoseli-SPb.ru PRO Недвижимость ComEstate.ru
SiZE
Зарплата хорошая. Но думаю и спрос будет соответствующий.
SiZE
Жаль что как всегда Москва )
Anonymous
Ну сорян(
Anonymous
С этим то я уже ничего сделать не могу
Sergei
rbac с dbmanagment на 4 роли в basicy Yii2 с готовыми вьюшками ауторизации на каких модулях проще всего настроить? yii2-rbac+yii2mod ИЛИ dektrium/yii2-rbac + dektrium/yii2-user или ещё какие варианты ?
SiZE
Ну сорян(
Любимая фраза коллег )))
Anonymous
нахрена эти модудули когда из коробки все супер или там супер сложная схема ролей)
Sergei
4 роли надо отдельные, из коробки ролей вообще нет, тока 2 юзера
SiZE
Лол ))
SiZE
Это же не цмс
SiZE
На самом деле если надо пару ролей, проще руками
Sergei
amnah/yii2-user вот норм модуль для двух роей на базе accesscontrol на экшны в контроллерах, но не больше, а надо на 4 роли
🎅
Чем пол дня гуглить
Anonymous
да ппц думают что готовые модули их спасут
Anonymous
рбас хреначишь пару главных контроллеров с фильтрами и от них наследуешь
Sergei
вот в сайт индексе обычно так и делал с модулем на 2 роли
Yet Another Stats (β)
https://yasb.exileed.com/telegram/chat/1001046156199
Yet Another Stats (β)
https://yasb.exileed.com/telegram/chat/1001046156199
Ilya 🃏
вроде actionSlug
Ilya 🃏
Я попрообовал, но вроде не сработало
Toly
Потому что в ядре проверяется наличие метода у класса: $methodName = 'action' . str_replace(' ', '', ucwords(implode(' ', explode('-', $id)))); if (method_exists($this, $methodName)) { $method = new \ReflectionMethod($this, $methodName); if ($method->isPublic() && $method->getName() === $methodName) { return new InlineAction($id, $this, $methodName); } }
Ilya 🃏
Понял, спасибо Сейчас у меня 2 папки с файлами-экшенами (standalone actions), во время загрузки контроллера я проверяю права юзверя и генерирую список экшенов из папки в соответствии с его правами. Есть другой вариант, это создать несколько behavior для разных типов пользователей и в нем хранить экшены. А в контроллере прописать beforeAction, который будет проверять через hasMethod наличие этого экшена у behavior, иначе отдавать экшен, который может быть есть у самого контроллера. Какой из них по-вашему более эстетичнее?
Toly
А почему в behavior нельзя просто написать сразу экшен?
Не нашёл соответствующий issue, возможно, стоит создать
Ilya 🃏
Думаешь это никому ничего не поломает?)