Приветствую
столкнулся с дилеммой, есть большой проект, в нем различные разделы в виде модулей
к примеру есть 2 модуля /admin && /manager. для определенных действий тех и иных пользователей по ролям. интерфейсы у этих 2-х модулей одинаковы, но контент другой, к примеру у пункты меню частично отличаются и функциональность также.
вобщем проблема в том, что некоторый функционал частично совпадает, примерно, на 30-50%
но в больших формах есть некоторые различия к примеру у админа доступны дополнительные поля.
городить if else не хочется поэтому решил разделить всё отдельно, хотя макет остался тот же (верстка, файлы стилей и скрипты) но разметка форм хранится в разных файлах. и вот у меня есть огромная форма, которую я вынужден дублировать, но меня просто выворачивает от таких действий
хотелось бы спросить совета. как лучше поступить в данной ситуации? создавать отдельно и дублировать некоторый функционал, или держать всё в одном модуле и разграничивать весь вывод исходя из ролей
1. Panoptik - 18 Ноября, 2013 - 14:37:31 - перейти к сообщению
2. tato - 19 Ноября, 2013 - 02:00:02 - перейти к сообщению
Если много ифов получается, то делать "дубликат", если парочка, то можно и один.
Можно часть в виджеты перенести, например генерацию меню, что бы в шаблон вставить, что-то такое widget( 'Menu', $params ); и все, а уже в самом виджете рулить по обстановке.
Можно часть в виджеты перенести, например генерацию меню, что бы в шаблон вставить, что-то такое widget( 'Menu', $params ); и все, а уже в самом виджете рулить по обстановке.
3. caballero - 19 Ноября, 2013 - 02:47:57 - перейти к сообщению
Цитата:
всё в одном модуле и разграничивать весь вывод исходя из ролей
да
ты вместо ифов получил дубликат формы.
лично я в своих проектах вообще админку отдельно не делаю
есть отдельные страницы доступные админу который логинится как обычный юзер
для контента который должен редактировать админ просто добавляю соответствующи кнопки на том же списке.
и т.д.
jklgflkergh
барышня, у вас что парня нет что вы такая злюка? Девушка должна быть доброй, милой ласковой а вы как неотесаный мужлан.
(Добавление)
я так понял что в тут зарегались пока админы спят
4. RomAndry - 19 Ноября, 2013 - 05:09:08 - перейти к сообщению
caballero пишет:
jklgflkergh
барышня, у вас что парня нет что вы такая злюка? Девушка должна быть доброй, милой ласковой а вы как неотесаный мужлан.
барышня, у вас что парня нет что вы такая злюка? Девушка должна быть доброй, милой ласковой а вы как неотесаный мужлан.
недотрах =)
5. Panoptik - 19 Ноября, 2013 - 16:52:07 - перейти к сообщению
tato пишет:
собственно всё что можно вынести в виджеты вынесеноМожно часть в виджеты перенести, например генерацию меню, что бы в шаблон вставить, что-то такое widget( 'Menu', $params ); и все, а уже в самом виджете рулить по обстановке.
общие функции контроллеров вынесены в хелперы
caballero пишет:
лично я в своих проектах вообще админку отдельно не делаю
и это
caballero пишет:
есть отдельные страницы доступные админу который логинится как обычный юзер
ну тут в принципе это тоже дополнительные страницы
осталась только проблема с макетами, так как в модулях в моем случае (Yii) они находятся в разных папках и к ним довольно сложно обращаться, но это уже вопрос для гугла
всем спс за объективное мнение
6. caballero - 19 Ноября, 2013 - 17:02:08 - перейти к сообщению
ну так если страница та же самая используется то и макет будет тот же самый
7. tato - 20 Ноября, 2013 - 03:11:18 - перейти к сообщению
Panoptik пишет:
так как в модулях в моем случае (Yii)
Что ж Вы сразу не сказали, что на Yii (=
Активно используем renderPartial в таком случае собираем форму по частям, можно прикрутить фильтр к контроллерам который будет вычислять статус пользователя и менять поведение сбора форм.
Так же в конфиге приложения можно задать директорию где лежат представления модуля
Что бы обратится к представлению из другого контроллера используем два слеша: