03/02/12

Criando um m dulo básico no Magento | Bloix

Bloix
Home Sobre o Blog Deixe Sua Idéia

Ferramenta de Pesquisa
digi e aq i o q e proc ra... Find i

Criando um m dulo básico no Magento
A criação de um modulo no Magento E-commerce exige conhecimento em várias coisas como a declaração de resources, declaração e criação de eventos, criação de blocks, helpers e models, etc. Na criação de uma loja virtual você pode também tanto criar módulos para suas próprias funcionalidades como para funcionalidades já existentes no Magento, como métodos de envio ou métodos de pagamento. Cada uma dessas merece um post específico pela sua complexidade. Nesse artigo vou explicar a criação de um módulo básico. Tudo que for necessário para começar a escrever um módulo.

Entendendo a estrutura de m dulos no Magento
Os módulos devem ficar dentro da pasta app que por sua vez fica na raíz da aplicação. Como o Magento implementa MVC os arquivos dos módulos que contêm código PHP e código HTML ficam separados dentro das pastas code e design respectivamente. Se você está perdido com esse monte de pastas não se preocupe, farei um post só sobre elas. Já dentro da pasta , temos mais 3 pastas:

core Aqui dentro ficam todos os módulos que fazem parte do core do Magento. Nunca altere nenhum arquivo aqui dentro, pois o risco de dar problema na hora de fazer upgrade é muito grande. community Já nesta pasta fica todos os módulos disponibilizados pela comunidade. Se você baixar algum módulo a partir do Magento Connect ele vai jogar esses módulos aqui dentro. Caso você baixe por conta própria é recomendado que você jogue o código aqui dentro. local A pasta é onde você deve escrever os módulos específicos da sua loja. Se por exemplo você sobrescreveu algum módulo do Magento para atender a uma especificação do seu cliente, ponha seu código aqui. Dentro de cada pasta dessa temos várias outras pastas. Essas pastas representam as companhias que desenvolveram os módulos e dentro das pastas das companhias temos os módulos disponibilizados por elas. Por exemplo, se a NOIX criasse um módulo chamado e ou outro , e eles fossem disponibilizados para a comunidade teriamos os dois caminhos: /app/code/community/Noix/AdvancedBanners /app/code/community/Noix/AdvancedSearch

Entendendo o m dulo
Antes de mais nada vamos entender o que nosso módulo irá fazer. Como a idéia é manter a simplicidade para melhorar o entendimento, vamos apenas fazer com que nosso módulo imprima Hello World quando eu acessar o endereço . É importante saber que o Magento é escrito em cima do Zend Framework e o entender básico do fluxo interno. Em resumo funciona da seguinte maneira: 1. Recebendo a requisição do usuário Quando o usuário escreve no navegador o Magento recebe a informação da URL que eles está tentando acessar. Após receber a URL do usuário o Magento faz o seguinte processo: retira sua url base e repassa todo o resto para seu Router. No nosso caso
bloix.com.br/gestaodeconteudo/criando-um-modulo-basico-no-magento 1/8

uma vez a URL tratada.mss dpnes preepod !. etc. Dentro dele fica toda a configuração básica para o funcionamento do O XML deve ser bem formatado portanto começaremos com a tag: 1 <xlvrin".* Nsomdl nodpned nd.com. 2 <mdls /oue 1. Fazendo rotas O Magento mantém um registro de todas as rotas que ele deve fazer em seu Router. ou seja. 3 <oxHlool Ni elWrd 0. bloix. 0 <dpns /eed 1."ecdn=UF8? . versão e até mesmo quais outros módulos ele depente: 0.03/02/12 Criando um m dulo básico no Magento | Bloix nossa url base é e tentaremos acessar o endereço . o texto que restar o Magento saberá tratar para descobrir qual módulo. configuração de . São básicamente 3 tipos: global Informações gerais do módulo ou coisas que será usado por ele independente se é na área administrativa ou no frontend. <cni 3 /ofg Após isso continuaremos criando mais nós dentro do nó config. 6 <.* os óuo ã eed e aa a e eedse o xml o 0. cni 3 <cni . ?m eso=10 noig"T-" 2 <ofg . 2 <oue mdls 0. O coração dos módulos do Magento são seus XML s. Então ficará: 1 <xlvrin". 2.br/gestaodeconteudo/criando-um-modulo-basico-no-magento 2/8 .<vrin 0. qual controller e qual action ele deve chamar e quais os parâmetros ele deve passar. 5 <eed dpns 0. Por exemplo: declarações de do módulo. 4 <eso 10/eso vrin . /ofg Em seguinda daremos informações do módulo como seu nome. 7 mdl d evod Mgnoeceeimsasm óuo e ni o aet srvrao si: 0. Crie também dentro de uma pasta chamada etc. Sabendo disso vamos criar a estrutura do nosso módulo que deverá seguir o caminho: Dentro da pasta deve ser criada uma pasta chamada controllers. Quando configuramos um módulo temos que informar qual tipo de configuração estaremos fazendo. um arquivo chamado config. Logo o Magento repassará para seu Router o texto . <ofg 1 cni 0. reescritas de URL. 8 <aeSipn / Mg hpig 0. Configurando o m dulo Crie dentro da pasta módulo. declarações . Agora temos as pastas Diretórios Magento e ."ecdn=UF8? .xml. 9 1. E as configurações dos módulos ficarão dentro de suas respectivas pastas . Quase tudo nele é configurável através de XML. o Magento padronizou que seu nó pai será sempre chamado de config. ?m eso=10 noig"T-" Como em um XML bem formatado é obrigatório ter um nó pai. onde ficarão todos os daquele módulo. 1 <Ni Hlool /ox elWrd 1.

2 <rnNm hlool<fotae fotae elwrd/rnNm 1. 4 <oxHlool Ni elWrd 0. Ou seja. 5 <. 2 <.qi ia oa s ofgrçe e oa o aet 1. 2 <Ni Hlool /ox elWrd 1.etmsdznoqeet rt vr pl fotn !. 9 <. Agora que sabemos disso. 3 <mdls /oue 1. 6 <. instanciar a classe e chamar o método . vamos informar ao Magento que ele deve ter em seu Router uma rota que ao receber o text URL ele procure pelos controllers dentro do módulo . 9 <aeSipn / Mg hpig 1. 0 <rs ag 1. 5 <oueNi_elWrd/oue mdl oxHlool<mdl 2. 7 <otr rues 1.sao ied u sá oa iá eo rned 0. <xlvrin". Confira como ficou o XML na íntegra: 0.* os óuo ã eed e aa a e eedse o xml o 0.com. 1 <. adminh ml Aqui vale o mesmo para o frontend. 3 2. 9 1. etc. a parte em que os usuários compradores tem acesso. 3 <oue mdls 0. 8 Dzmsqa onm sr caaofotae eqa mdl eeiá ieo ul oe eá hmd(rnNm) ul ouo l r poua(oue rcrrmdl) 0.qi ia oa s ofgrçe e oa o aet 0. <rned 1 fotn 0. 4 <hlool /elwrd 1. 6 <s sadr<ue ue tnad/s 0.O agmno pr cniua art !. <ofg 2 cni 0.<vrin 0. 7 <ag /rs 2. porém as configurações afetaram apenas a área administrativa do Magento. 1 <oueNi_elWrd/oue mdl oxHlool<mdl 1.Au fc tdsa cniuaõsd rt d Mgno!.etmsdznoqeet rt vr pl fotn !.s ruets aa ofgrr oa 0.03/02/12 Criando um m dulo básico no Magento | Bloix fron end Configurações que afetaram o frontend do Magento. 5 <rned fotn 1.s ruets aa ofgrr oa 2. 8 <hlool /elwrd 2.* Nsomdl nodpned nd. por padrão ele irá procurar pelo arquivo .Au fc tdsa cniuaõsd rt d Mgno!. 7 <. 7 <. como a parte de controllers o Magento herda do Zend Framework.mss dpnes preepod !."ecdn=UF8? 1 ?m eso=10 noig"T-" 0. 9 <rues /otr bloix. ele irá procurar pelo arquivo . 3 <ag /rs 1. 0 <s sadr<ue ue tnad/s 2. nome do arquivos xml de configuração de layout. 8 mdl d evod Mgnoeceeimsasm óuo e ni o aet srvrao si: 0.sao ied u sá oa iá eo rned 2.br/gestaodeconteudo/criando-um-modulo-basico-no-magento 3/8 na . <fotn 6 /rned Pronto! Agora o Magento sabe que toda vez que alguem acessar ele deve procurar por controllers dentro da pasta . 5 <eso 10/eso vrin . instanciar a classe e chamar o método . 8 <elwrd hlool 1. 4 <rs ag 2. 6 <eed dpns 0. 2 Dzmsqa onm sr caaofotae eqa mdl eeiá ieo ul oe eá hmd(rnNm) ul ouo l r poua(oue rcrrmdl) 2. Agora se o endereço chamado for . 3 <otr rues 0. 0. ou seja. rotas que o Magento fará no frontend. 1 <dpns /eed 1. 0 1. 4 <elwrd hlool 0. 5 <rues /otr 1. Aqui podemos informar nome dos arquivos de tradução. 6 <rnNm hlool<fotae fotae elwrd/rnNm 2.O agmno pr cniua art !. 4 1.

porém ao executar o código você verá que a tela ficará toda branca com apenas o texto nela. reclamações ou sugestões? Por favor.Qa otp aalcço cr. 8 0. 6 0. 2. O site tá de parabéns.Ifroqeomdl vr aioprpdã. Mas isto vai ficar para um outro post. Compa ilhe em o a ede : Tags / Desenvolvimento Magento . 1 0.Loja Virtual .lclo cmuiy!. 0 <oeollcl/oeol cdPo oa<cdPo 1. consequentemente. co Hlo ol' } } Talvez você esteja esperando que a frase "Hello World" apareça dentro do layout do Magento. 6 Is écniuae n áe amnsrtv so ofgrvl a ra diitaia 0. <cni 1 /ofg Com isso precisamos apenas criar nossa classe imprimindo o texto "Hello Word": 0.xml e insira o seguinte conteúdo: 0. <xlvrin". Antes de finalizar precisamos informar ao Magento que nosso módulo existe para que ele seja executado. 3 0. 0 1.Módulo Magento 1. !. 3 <oue mdls 0. 5 <. 2 <mdls /oue 1. 4 0.Magento . 5 0. Crie dentro da pasta /app/etc/modules o arquivo Noix_HelloWorld. <ofg 2 cni 0. 7 0. 9 1. 2 0.com. 1 <Ni Hlool /ox elWrd 1. disse: 9 de fevereiro de 2010 às 8:26 Nossa Kara!! Muito bom seu post! Estou iniciando com magento. 9 <. Para que essa frase seja apresentada dentro do Magento é necessário aplicarmos mais uns estudos em cima das e dos do Magento. 0 <fotn /rned 3. disse: 9 de fevereiro de 2010 às 15:55 Opa! Muito obrigado pelo comentário! Estimula a gente a querer escrever mais e ajudar a comunidade. joomla e. Espero que o post tenha te ajudado bastante. MVC.03/02/12 Criando um m dulo básico no Magento | Bloix 3. utilize os comentários.br/gestaodeconteudo/criando-um-modulo-basico-no-magento 4/8 . 4 <oxHlool Ni elWrd 0."ecdn=UF8? 1 ?m eso=10 noig"T-" 0. <cni 3 /ofg Dúvidas. 7 <cietu<atv atv re/cie 0. Estou escrevendo mais para ajudar quem tá começando. Clareou legal minha compreensão em relação ao magento. 8 0. Qualquer dúvida pode entrar em contato com a gente! bloix.nom u óuo iá tv o aro 0. 1 <pp ?h casNi_elWrdIdxotolretnsMg_oeCnrle_rn_cin ls oxHlool_neCnrle xed aeCr_otolrFotAto { pbi fnto idxcin) ulc ucin neAto( { eh 'el Wrd.ul io piaã: oe oa u omnt 1.

br/gestaodeconteudo/criando-um-modulo-basico-no-magento 5/8 . ficou bem claro . ótimo post. rola de vc dra u help maninho? 9. magento instalado na minha maquina local porém ao executar o link: http://localhost/magento/helloworld aparece esse erro no browser: Arquivo não encontrado O Firefox não conseguiu localizar o arquivo http://localhost/magento/helloworld.. 6. disse: 13 de maio de 2010 às 17:29 Parabéns! Ficou muito bom e me tirou uma pá de dúvidas. Porém não consegui criar um módulo. Abraços. Só não consegui rodar este módulo hello world! O que será que fiz de errado? preciso configurar alguma coisa no adm do magento para ver funcionando este exemplo? Estou com o magento publicado na minha máquina. Fique ligado que logo virão mais. já revisei e revisei . disse: 13 de maio de 2010 às 11:29 Parabéns muito bom . continue assim ajudando a galera que tem interesse. disse: 19 de fevereiro de 2010 às 22:39 Obrigado pelo comentário. só não consegui rodar tb . disse: 11 de março de 2010 às 10:22 Parabéns ae Bruno..Vmos todos nos ajudar. Muito bom o artigo! já está nos favoritos!. Abraço! 5. estou que nem o Guilherme .rs Parabéns! Abs 4. Um abração! bloix.com. disse: 27 de abril de 2010 às 7:46 Gostei muito do conteúdo. consegui entender melhor a estrutura dos arquivos do magento. muito bom mesmo. 7.03/02/12 Criando um m dulo básico no Magento | Bloix 3. 8. disse: 9 de fevereiro de 2010 às 23:47 Olá. Marcos! Eu acredito que é assim que criamos uma comunidade forte e ativa. disse: 10 de fevereiro de 2010 às 10:17 Bruno Viana meus parabéns pelo ótimo posto para iniciação em desenvolvimento na plataforma magento.

6.com. dai não aparecia a página helloworld.03/02/12 Criando um m dulo básico no Magento | Bloix 10.com. estou que nem o Guilherme…. 13. disse: 21 de março de 2011 às 10:22 Cara valew pelo post. 16 de junho de 2010 às 15:10 disse: Fiquei um tempão para ver que tinha escrito codePool erro. estou usando a versão 1. disse: 19 de janeiro de 2011 às 8:55 timo post! Já esta nos favoritos…continue postando e esclarecendo-nos sobre o magento. 15. Eu fiquei apanhando aqui até descobrir que o cache estava habilitado. No mais ficou excelente principalmente a contextualização dos conceitos básicos do Magento.meusite. tinha escrito codePoll. Valew 16. magento instalado na minha maquina local porém ao executar o link: http://localhost/magento/helloworld aparece esse erro no browser: Arquivo não encontrado O Firefox não conseguiu localizar o arquivo http://localhost/magento/helloworld.0. muito esclarecedor. Porém não consegui criar um módulo. 14. No meu caso não está funcionando. disse: 8 de julho de 2010 às 22:44 Parabéns pelo post.0 e o magento está dentro de uma pasta (pasta) tipo http://www.br/helloword sem o “L” do world ai tu vai tentar replicar no teu ambiente copiando essa linha do helloword acaba não achando a página.br/pasta/helloworld será que tenho que mudar alguma coisa dentro do XML por causa de estar dentro de uma pasta? bloix. Vlw pelo dica. 12. disse: 12 de outubro de 2011 às 13:18 Olá Bruno. agora vou tentar aplicar isso no admin. Mas em fim. disse: 6 de janeiro de 2011 às 10:08 Fiquem atentos que em uma determinada parte do texto o autor escreve http://minhaloja.com. parabéns.br/gestaodeconteudo/criando-um-modulo-basico-no-magento 6/8 . disse: 13 de maio de 2010 às 17:29 Parabéns! Meu e-mail no post anterior tava errado Ficou muito bom e me tirou uma pá de dúvidas. blog com informação util. Um abração! 11.

com Bruno Viana Veja como o mundo utiliza as diferentes rede sociais Brasileiros optam por E-commerces americanos para a compra de roupas bloix. Nome Email (não será publicado) Site Enviar Coment rio Assine nosso feed completo Twitter Error: Twitter did not respond.7 A Internet é cada vez mais utilizada para reclamações sobre empresas Palestra E-commerce com Magento .com. Nossas categorias Comunicação (18) Desenvolvimento Web (9) Gestão de Conteúdo (16) Internet (14) Marketing (3) Marketing Digital (39) Mídias Sociais (24) NOIX (10) ltimos posts comentados Hugo Bellard em Unicode e o fim dos problemas de codificação Giovanni Amorim em Apresentando: Magento manutecao em Não investir em Marketing Digital ainda é uma opção? Luana em Não investir em Marketing Digital ainda é uma opção? Eduardo em Criando um módulo básico no Magento Arthur M Façanha em NOIX Internet.br/gestaodeconteudo/criando-um-modulo-basico-no-magento 7/8 . Please wait a few minutes and refresh this page.03/02/12 Criando um m dulo básico no Magento | Bloix Parabéns pelo site uma iniciativa muito nobre!!!! Deixar um comentário. Rede de Farmácias Pague Menos e o universo feminino dos blogs de moda carol em Brasil está no topo do ranking na utilização da Internet para compras de produtos e serviços Arthur M Façanha em Brasil está no topo do ranking na utilização da Internet para compras de produtos e serviços Carlos em Brasil está no topo do ranking na utilização da Internet para compras de produtos e serviços manutecao em ComScore registra crescimento nas visitas à redes sociais em maio Posts recentes Brand pages do Twitter deve ser lançado nesta semana [VAGA] – Desenvolvedor PHP [VAGA] – Web Analytics / SEO [VAGA] – Webwriter/Social Media Google+ agora com o recurso de páginas de empresas Joomla 1.

br/gestaodeconteudo/criando-um-modulo-basico-no-magento 8/8 .03/02/12 Criando um m dulo básico no Magento | Bloix NOIX In erne bloix.com.

Sign up to vote on this title
UsefulNot useful