[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как лучше распределить модули
lodas
Здравствуйте. Пишу инет магазин на 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
Administrator и Moderator это не модули. Это права доступа. Какому юзеру, что разрешено. Допустим модератору может быт запрещено удалять товары из каталога (за который отвечает модуль каталога), а админу соот разрешено все.
Catalog, Product - модули
kaww
Цитата
modules
  |-Catalog
  |    |-Controller
  |        |-AdminController
  |        |-IndexController
  |        |-ProductController
  |        |-SomeController
  |-User
  |    |-Controller
  |        |-AdminController
  |        |-IndexController
  |        |-SomeController

При такой структуре у вас модули становятся не зависимыми друг от друга (хотя большинство модулей будут все же зависеть от User). В вашей структуре, судя по всему Catalog и Product стоит объединить в Catalog, и лучше не делить на backend и frontend, либо файлы отвечающие за административный интерфейс расположить в каталоге backend внутри модуля, опять же для удобной переносимости. ИМХО
lodas
kaww, кое что прояснилось. По вашей структуре непонятно почему контроллер Admin везде повторяется? И как можно устроить админку с разделением прав?
P.S "я думал создать админский модуль и расположить там и интерфейс админки и те действия что ему нужны"

SoMeOnE, я хочу например при заходе в админку модератором, чтобы у него был свой круг действий, для админа свой. Для этого я думал каждому из прав доступа по модулю создать. И как мне поступить тогда с администраторским интерфейсом?
SoMeOnE
можно в базе хранить список модулей которые доступны том или иному юзеру.
А если какое то действие модератор видеть не должен банальным условием можно решить
Опять таки. Если всего много нужно изначально продумать. Как будет реализовываться. Почитай в нете. Должно быть много информации об архитектуре магазинов. Посмотри исходные коды cms.
kristall
В простейшем случае права настраиваются через 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
Цитата (lodas @ 29.07.2013 - 14:33)
И как можно устроить админку с разделением прав?

А ты что про RBAC в Yii не слышал?

_____________
There never was a struggle in the soul of a good man that was not hard
lodas
Michael, про RBAC сейчас сижу читаю smile.gif Просто я запутался как админку сделать, как отдельный модуль?
kaww
lodas
, у каждого модуля должен быть свой контроллер, реализующий операции администрирования. тогда если вам для проекта нужны будут модули, например, пользователь, комментарии, каталог, корзина, то нужно просто скопировать нужные каталоги в проект, а не вычищать модуль Admin от лишнего хлама.
lodas
kaww, понятно. а контроллер, реализующий операции администрирования в каждом модуле лучше делать через RBAС?
Michael
все что касается прав доступа лучше сразу завязывать на RBAC.

А в контроллерах для определенных действий потом идет разграничение, а не чисто админский контроллер и неадминский.

_____________
There never was a struggle in the soul of a good man that was not hard
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.