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

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

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

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

disse: 19 de fevereiro de 2010 às 22:39 Obrigado pelo comentário.03/02/12 Criando um m dulo básico no Magento | Bloix 3.. Fique ligado que logo virão mais. 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.. Porém não consegui criar um módulo. estou que nem o Guilherme . disse: 13 de maio de 2010 às 17:29 Parabéns! Ficou muito bom e me tirou uma pá de dúvidas.com. rola de vc dra u help maninho? 9. já revisei e revisei . 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. disse: 9 de fevereiro de 2010 às 23:47 Olá.Vmos todos nos ajudar. 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.br/gestaodeconteudo/criando-um-modulo-basico-no-magento 5/8 . consegui entender melhor a estrutura dos arquivos do magento. Marcos! Eu acredito que é assim que criamos uma comunidade forte e ativa. Muito bom o artigo! já está nos favoritos!. continue assim ajudando a galera que tem interesse. 8. disse: 27 de abril de 2010 às 7:46 Gostei muito do conteúdo. Abraço! 5. só não consegui rodar tb . 7. ficou bem claro . disse: 11 de março de 2010 às 10:22 Parabéns ae Bruno.rs Parabéns! Abs 4. disse: 13 de maio de 2010 às 11:29 Parabéns muito bom . muito bom mesmo. Um abração! bloix. 6. ótimo post. Abraços.

disse: 6 de janeiro de 2011 às 10:08 Fiquem atentos que em uma determinada parte do texto o autor escreve http://minhaloja. Eu fiquei apanhando aqui até descobrir que o cache estava habilitado. 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.com.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. parabéns. 13. estou usando a versão 1. No meu caso não está funcionando. muito esclarecedor.br/gestaodeconteudo/criando-um-modulo-basico-no-magento 6/8 . Vlw pelo dica.com. disse: 21 de março de 2011 às 10:22 Cara valew pelo post. 14.0.03/02/12 Criando um m dulo básico no Magento | Bloix 10. tinha escrito codePoll. Valew 16.com. 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.6. Mas em fim. Um abração! 11. Porém não consegui criar um módulo. disse: 19 de janeiro de 2011 às 8:55 timo post! Já esta nos favoritos…continue postando e esclarecendo-nos sobre o magento. disse: 12 de outubro de 2011 às 13:18 Olá Bruno. 12. blog com informação util.0 e o magento está dentro de uma pasta (pasta) tipo http://www. disse: 8 de julho de 2010 às 22:44 Parabéns pelo post. dai não aparecia a página helloworld. estou que nem o Guilherme…. 16 de junho de 2010 às 15:10 disse: Fiquei um tempão para ver que tinha escrito codePool erro. No mais ficou excelente principalmente a contextualização dos conceitos básicos do Magento.br/pasta/helloworld será que tenho que mudar alguma coisa dentro do XML por causa de estar dentro de uma pasta? bloix. agora vou tentar aplicar isso no admin. 15.meusite.

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. Please wait a few minutes and refresh this page. Nome Email (não será publicado) Site Enviar Coment rio Assine nosso feed completo Twitter Error: Twitter did not respond.br/gestaodeconteudo/criando-um-modulo-basico-no-magento 7/8 .03/02/12 Criando um m dulo básico no Magento | Bloix Parabéns pelo site uma iniciativa muito nobre!!!! Deixar um comentário.com.7 A Internet é cada vez mais utilizada para reclamações sobre empresas Palestra E-commerce com Magento . 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. com Bruno Viana Veja como o mundo utiliza as diferentes rede sociais Brasileiros optam por E-commerces americanos para a compra de roupas bloix.

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