Separar diretorios site e admin

Bom galera eu encontrei dois topicos ensinado separar o back-end e front-end

http://www.yiiframework.com/doc/cookbook/33/

http://www.yiiframework.com/doc/cookbook/63/

Eu até entendi mais onde eu trabalho, tipo eu cuido do site e o meu socio cuida da area admin, qual destas formas seria mais facil de usar ou o mais organizado.

Eu aceito outras dicas.

valew pela ajuda…

Olá Edson,

Inicialmente andei procurando esse tipo de informação para meu painel administrativo de site institucional.

Eu usei inicialmente ‘WebApplicationEnd behavior’, so que com passar do tempo, achei melhor usar os ‘modules’ do Yii mesmo nativo.

Se tu usar o /gii/ para gerar o módulo, e bem melhor, por que dae ele cria a pasta do módulo, por exemplo, se deseja criar um painel administrativo, ou um blog ou fórum mesmo, a estrutura fica assim:

protected/

modules/

admin/

components/

controllers/

messages/

models/

views/

widgets/

AdminModule.php

blog/

components/

controllers/

messages/

models/

views/

widgets/

BlogModule.php

forum/

components/

controllers/

messages/

models/

views/

widgets/

ForumModule.php

Ai no config/main.php

Tu ativa os módulos:

return array(

...


'components' => array(


...


'modules' => array(


    'gii' => array(


        'class' => 'system.gii.GiiModule',


        'password' => 'seu_password'


    ),


    'admin',


    'blog',


    'forum',


),

);

Ai o endereço dos módulos e simples acessar.

http://localhost/admin/

http://localhost/blog/

http://localhost/forum/

Espero ter ajudado.

Realmente, a melhor de separar esse tipo de aplicação é com a utilização de módulos.

Desta forma sua aplicação não ficará comprometida com a inserção de uma nova funcionalidade ou algo do tipo, pois a estrutura hierárquica básica será a mesma.

Abraços,

Cristiano Souza

Boa noite,

vou utilizar este tópico pois acredito que esteja relacionado ao mesmo assunto Módulos.

Estou desenvolvendo um projeto e utilizando como base o Yii Framework.

No projeto tenho módulos que são as partes de divisão do site frontend que chamei de site e backend que chamei de admin, que são módulos e ficam num diretório chamado sys.

Também tenho outros módulos que ficam num diretório chamado app, cada um desses módulos tem suas tarefas específicas, como controle de usuários por exemplo.

A questão é que gostaria de acessar os models, que ficam em app.usuario na do seu sys.admin, só que não estou conseguindo.

E no sys.site também deve acessar estes models.

Trabalho a pouco tempo com o Yii. Não sei se estou seguindo o melhor caminho no meu projeto, peço que possam opinar sobre minha idéias. Caso não tenha ficado claro favor me falar.

Obrigado.

Léo,

Tu não precisa separar as aplicações em diretório, pode manter o framework na pasta principal, ai tu cria os módulos (app e admin), o site, já é padrão do Yii, para ativar esses modulos, tu acrescenta eles no config/main.php

E para usar o Gii, para buscar diretamente do módulo que deseja, usa sempre esse caminho aqui (applications.modules.admin.models) ai ele vai diretamente na pasta Models no Módulo Admin.

ok resolvido valew pela dica

Primeiramente, obrigado pela resposta.

Passei uns dias estudando o projeto, e seguindo suas dicas resolvi fazer alterações no mesmo.

Todos os models resolvi colocar na pasta application.models, mas vou precisar de criar alguns módulos.

Estou precisando de criar um filtro de acesso, o qual vai ser aplicado aos controllers do módulos, como poderia fazer isso?

E se eu quizesse extender um controller da aplicação para um controller no módulo eu poderia?

Desde já agradeço a ajuda.

[i]"Todos os models resolvi colocar na pasta application.models, mas vou precisar de criar alguns módulos."

[/i]Não interfere. Quando vc usa um módulo, vc tem acesso a todos os Models dentro de application.models. Além destes, quando um módulo está instanciado (Quando vc está acessando qualquer controller dentro do módulo), vc também tem acesso as classes de modelos dentro do módulo.

[i]"Estou precisando de criar um filtro de acesso, o qual vai ser aplicado aos controllers do módulos, como poderia fazer isso?"

[/i]

Aconselho uma lida aqui pra poder iniciar, e depois vc pode abrir um outro tópico tirando as dúvidas onde o icho tiver pegando.

[i]"E se eu quizesse extender um controller da aplicação para um controller no módulo eu poderia?"

[/i]Não consegui entender exatamente o que vc quer

Boa noite amigos, eu sou novo no framework e no forum, estou tentando criar o modulo de Admin com o gii mas quando termino de criar e tento acessar os módulos eu não consigo seria possivel alguem me ajudar?

Grato

vc deve declarar o modulo na config




return array(

...

'modules'=>array(

  'meuModulo'

),

...

);



Boa noite Gustavo, obrigado por responder, não consegui responder antes, eu fiz isso que você me passou antes de me cadastrar no Forum, eu segui e fiz exatamente o que os outros membros passaram, mas não entendi como acessar essa área ou módulo que eu criei que no caso é uma área Admin.

Devo gerar novamente?

Grato

Boa noite,

Consegui aqui, eu acesso assim siteteste/index.php?r=Admin

Desculpe o encomodo