Здравствуйте. Пишу инет магазин на yii, и думаю как распределить модули. Идея пока такая:
1)front end //пользовательский модуль
2)back_end //модуль административной части сайта (все что под ним-вложенные модули)
|
|-->2.1) Administrator //модуль администратора
|
|-->2.2) Moderator //модуль модератора
|
|-->2.3) Catalog //модуль управление каталогом
|
|-->2.4) Product //модуль управления товарами
|
|-->....
3)и т.д
Стоит ли делать такое распределение модулей?
И нужны ли здесь вложенные модули(может создать просто (Administrator,Moderator,....) без основного "back_end" )?
SoMeOnE
29.07.2013 - 14:02
Administrator и Moderator это не модули. Это права доступа. Какому юзеру, что разрешено. Допустим модератору может быт запрещено удалять товары из каталога (за который отвечает модуль каталога), а админу соот разрешено все.
Catalog, Product - модули
Цитата |
modules |-Catalog | |-Controller | |-AdminController | |-IndexController | |-ProductController | |-SomeController |-User | |-Controller | |-AdminController | |-IndexController | |-SomeController |
При такой структуре у вас модули становятся не зависимыми друг от друга (хотя большинство модулей будут все же зависеть от User). В вашей структуре, судя по всему Catalog и Product стоит объединить в Catalog, и лучше не делить на backend и frontend, либо файлы отвечающие за административный интерфейс расположить в каталоге backend внутри модуля, опять же для удобной переносимости. ИМХО
kaww, кое что прояснилось. По вашей структуре непонятно почему контроллер Admin везде повторяется? И как можно устроить админку с разделением прав?
P.S "я думал создать админский модуль и расположить там и интерфейс админки и те действия что ему нужны"
SoMeOnE, я хочу например при заходе в админку модератором, чтобы у него был свой круг действий, для админа свой. Для этого я думал каждому из прав доступа по модулю создать. И как мне поступить тогда с администраторским интерфейсом?
SoMeOnE
29.07.2013 - 17:15
можно в базе хранить список модулей которые доступны том или иному юзеру.
А если какое то действие модератор видеть не должен банальным условием можно решить
Опять таки. Если всего много нужно изначально продумать. Как будет реализовываться. Почитай в нете. Должно быть много информации об архитектуре магазинов. Посмотри исходные коды cms.
kristall
29.07.2013 - 17:20
В простейшем случае права настраиваются через accessRules():
http://www.yiiframework.com/doc/guide/1.1/...pics.auth#sec-5
_____________
echo '<pre>',print_r($var, 1);die;
root@server# make love && war
Michael
29.07.2013 - 17:22
Цитата (lodas @ 29.07.2013 - 14:33) |
И как можно устроить админку с разделением прав? |
А ты что про RBAC в Yii не слышал?
_____________
There never was a struggle in the soul of a good man that was not hard
Michael, про RBAC сейчас сижу читаю
Просто я запутался как админку сделать, как отдельный модуль?
lodas
, у каждого модуля должен быть свой контроллер, реализующий операции администрирования. тогда если вам для проекта нужны будут модули, например, пользователь, комментарии, каталог, корзина, то нужно просто скопировать нужные каталоги в проект, а не вычищать модуль Admin от лишнего хлама.
kaww, понятно. а контроллер, реализующий операции администрирования в каждом модуле лучше делать через RBAС?
Michael
30.07.2013 - 08:17
все что касается прав доступа лучше сразу завязывать на RBAC.
А в контроллерах для определенных действий потом идет разграничение, а не чисто админский контроллер и неадминский.
_____________
There never was a struggle in the soul of a good man that was not hard
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.