Ir para conteúdo


Foto

CRUD PHP - MVC Ext JS 4


  • Por favor, faça o login para responder
43 respostas neste tópico

#1 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 02 May 2011 - 09:23

Bom dia pessoal, segue um exemplo comentado da nova arquitetura do ExtJS (MVC). Para executar o projeto deve-se fazer o seguinte:

- em index.html, referenciar os arquivos de acordo com sua pasta ExtJS 4.x
- executar no banco de dados o script bd.sql.

Abraços!
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#2 Legolas

Legolas

    Ext JS - Admin

  • Administrators
  • 3496 posts
  • LocationBelo Horizonte

Postado 02 May 2011 - 10:03

Fino Fabio, irei ver o seu exemplo depois em casa para ver com calma, mas pelo que vi aqui o novo padrão do ExtJS 4 MVC está show. Obrigado pelo exemplo e parabéns.

"A verdadeira vitória não é derrotar alguém forte... É ser capaz de proteger alguém que você ama de verdade!" (Maito Dai)


#3 HG

HG

    Iniciante

  • Membros
  • Pip
  • 4 posts
  • LocationGuarujá-SP

Postado 02 May 2011 - 10:20

Show o exemplo. parabéns!

Esse ext-js 4 está muito loko!

abraço.
HG

#4 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 02 May 2011 - 10:22

Fino Fabio, irei ver o seu exemplo depois em casa para ver com calma, mas pelo que vi aqui o novo padrão do ExtJS 4 MVC está show. Obrigado pelo exemplo e parabéns.


Valeu Legolas, qualquer sugestão para melhoria do exemplo, pode falar. ;)
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#5 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 02 May 2011 - 10:23

Show o exemplo. parabéns!

Esse ext-js 4 está muito loko!

abraço.

Obrigado hermesnet e seja bem vindo ao fórum, qualquer dúvida, estamos a disposíção. Grande Abraço!
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#6 vcardins

vcardins

    Novato

  • Membros
  • PipPip
  • 12 posts

Postado 03 May 2011 - 00:30

Olá pessoal, mais um a parabenizar o Fábio pela iniciativa em disponibilizar o exemplo, show !!

Estou engatinhando no ext 4 com MVC e gostaria da ajuda de vocês. Estou construindo um simples CMS onde naturalmente requisito a autenticação do usuário antes de apresentar o workspace. Qual seria a forma mais correta, utilizando MVC pra que logo após autenticar o usuário eu mostrar o workspace? Assumo eu que a box de login e o workspace deveriam estar no arquivo app.js, fora das pastas MVC, estou errado? Acredito também que o código para o workspace poderia estar no arquivo viewport.js, mas como fazer o vinculo? Ainda estou meio perdido ...

O arquivo em anexo contém meu código incial ... está funcionando porém não carrega o workspace, gera o erro:
Uncaught TypeError: Cannot call method 'removeCls' of null
, alguma sugestão? Em tendo isso resolvido certamente irei continuar o projeto e seu exemplo será de extrema valia.

Um forte abraço e obrigado desde já!

Obs: estou utilizando o framework : doophp e seguinda a estrutura de folders sugerida pela documentação da Sencha.


#7 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 03 May 2011 - 08:59

Agradeço os parabéns vcardins.  ;)

Quanto a sua dúvida, não sei se entendi muito bem, não entendi a questão de liberar workspace, seria uma permissão para o usuário poder visualizar determinados módulos do sistema?
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#8 vcardins

vcardins

    Novato

  • Membros
  • PipPip
  • 12 posts

Postado 03 May 2011 - 10:26

Não precisa agradecer, iniciativas como essa tem que ser sempre louvadas.

Talvez não tenha sido muito conciso, mas trata-se de um mecanismo simples de autenticação de usuário. A área de trabalho só poderá ser acessada após a validação de login e senha ... coloquei alguns screenshots de referência. A imagem tela03 é de um sistema em ext 3 que eu fiz, a tela02 deveria aparecer assim, mas está dando o erro que você pode ver no debugger.

Bom, em resumo precisaria da estrutura MVC para antes de apresentar o viewport com os links da app, mostrar uma caixa de login e senha para autenticação, acho que agora falei melhor ... rsrs.

Grande abraço !



#9 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 03 May 2011 - 11:32

Agora ficou mais claro  :D

Cara, eu ainda não parei pra pensar em tela de login e permissões no modelo MVC do ExtJS, mas aí vão minhas opiniões:

- Creio que o arquivo principal (inicial) será a tela de login.
- Após validar na tela de login, redireciona para outra pagina que será o principal da aplicacao.
- Ou seja, 1 arquivo para a pagina inicial da aplicação e outro para tela de login.
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#10 vcardins

vcardins

    Novato

  • Membros
  • PipPip
  • 12 posts

Postado 03 May 2011 - 12:22

O que você chama de arquivo principal, o app.js ou o index.htm ? Inicialmente havia feito assim, 1 arquivo .htm para login e outro pro workspace, mas não me pareceu dentro dos padrões MVC. Na verdade nesse momento não quero por si só a solução, mas que o aprendizado da melhor forma seja estabelecido :). Se puder, dá uma analisada no app.js que anexei.

Grande abraço !

#11 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 03 May 2011 - 17:22

Você pode fazer como em um sistema normal, em um sistema que fiz por exemplo na versão 3.x, eu tinha o arquivo login.js e principal.js, onde login era chamado primeiro, após ser validado o login, redirecionava para a página principal.js, onde era montado o componente principal da aplicação.

Você pode aplicar a mesma idéia, chamando o arquivo login.js na app, ao invés do viewport.
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#12 vcardins

vcardins

    Novato

  • Membros
  • PipPip
  • 12 posts

Postado 03 May 2011 - 17:26

Entendo, inicialmente havia feito assim e funcionado, porém queria saber se esse procedimento estaria 100% compliance com os principios do MVC ... essa é minha grande dúvida :). De qualquer forma, vou continuar o projeto dessa forma e futuramente fazer os ajustes necessários. Coom certeza irei postar aqui os meus resultados, agregando também a sua grande ajuda .. eheh

Abraços e obrigado pelo suporte !

#13 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 03 May 2011 - 17:38

Sobre o padrão MVC, creio que não haverá problema, considerando que seu arquivo login.js esteja na estrutura MVC, com as ações do login na pasta controller e assim por diante, assim como estou fazendo com os usuários.
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#14 vcardins

vcardins

    Novato

  • Membros
  • PipPip
  • 12 posts

Postado 03 May 2011 - 17:48

Ok, entendi ! Pra efeito de referência, estou usando esse plugin (anexo) que envia os dados já encriptados utilizando ou MD5 ou SHA1.
Vou fazer os testes e retorno meus resultados em breve.

Obrigado

#15 nandogyn

nandogyn

    Iniciante

  • Membros
  • Pip
  • 1 posts

Postado 05 May 2011 - 05:10

muito obrigado excelente exemplo, vamos ver se agora me arrisco em extjs

#16 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 05 May 2011 - 07:16

Obrigado nandogyn, seja bem vindo ao fórum, qualquer dúvida eh só postar.
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#17 vcardins

vcardins

    Novato

  • Membros
  • PipPip
  • 12 posts

Postado 09 May 2011 - 11:15

Olá Fábio, meu projeto está andando super bem ! Consegui resolver as pendências e adaptar o seu código, muito bem estruturado !! Porémmm, um probleminha:
  • O meu menu é carregado dinamicamente, de acordo com o perfil do usuário (tudo Ok)
  • O grid é carregado no panel central de acordo com o xType
  • O meu controller User está definido no app.js

O controller deveria então "escutar" todos os eventos do grid ... porém isto não está ocorrendo. O que posso estar fazendo de errado?
Tem alguma informação que pode facilitar o entendimento? Em resolvendo isso tenho certeza que o resto da programação é tranquilo !!

Grande abraço

#18 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 09 May 2011 - 11:46

Legal cara, parece estar ficando bacana mesmo.

O meu controller User está definido no app.js


Creio que não seja interessante estar aí, controller deve estar na controller.

O controller deveria então "escutar" todos os eventos do grid ... porém isto não está ocorrendo. O que posso estar fazendo de errado?
Tem alguma informação que pode facilitar o entendimento?


Qual evento se refere? Fez como está na controller do exemplo (Usuario)?

...
this.control({
        	// evento duplo click na tela principal(viewport) --> usuariolista(grid)
        	'usuariolista': {
                itemdblclick: this.editarUsuario
            },
...

Como está fazendo?


Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas

#19 vcardins

vcardins

    Novato

  • Membros
  • PipPip
  • 12 posts

Postado 09 May 2011 - 12:11

Seguem os arquivos da view e controller pra facilitar o entendimento (verifique que é uma cópia fiel ao seu, alterando-se as nomenclauras).


#20 Fabio Jr. Policeno

Fabio Jr. Policeno

    Member Avançado

  • Expert User
  • 2933 posts
  • LocationCuritiba - PR

Postado 09 May 2011 - 12:35

Ta, ainda não entendi o que vc quer, o que quer fazer?
Produtos/Serviços Ext JS
Porque dEle, por Ele, para Ele são todas as coisas




2 usuário(s) está(ão) lendo este tópico

0 membros, 2 visitantes, 0 membros anônimos