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

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

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

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

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

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

Please wait a few minutes and refresh this page. 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.03/02/12 Criando um m dulo básico no Magento | Bloix Parabéns pelo site uma iniciativa muito nobre!!!! Deixar um comentário. Nome Email (não será publicado) Site Enviar Coment rio Assine nosso feed completo Twitter Error: Twitter did not respond.com. 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.7 A Internet é cada vez mais utilizada para reclamações sobre empresas Palestra E-commerce com Magento . 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 7/8 .

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

Sign up to vote on this title
UsefulNot useful