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

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

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

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

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

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

br/gestaodeconteudo/criando-um-modulo-basico-no-magento 7/8 . 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.com.7 A Internet é cada vez mais utilizada para reclamações sobre empresas Palestra E-commerce com Magento . Please wait a few minutes and refresh this page. 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. 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.

com.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.

Sign up to vote on this title
UsefulNot useful