Magento Commerce Abrindo a caixa preta
Quem sou eu? Desenvolvedor WEB há 9 anos  (passou pela  triste época de ter que renderizar html no Netscape 4 e pro IE5)  ...
Quem sou eu? marcelolinhares.com https://github.com/marcelolinhares http://www.linkedin.com/in/marcelolinhares
Agenda 1 – Introdução ao Magento e ruminanças sobre o mercado 2 – Conceitos e patterns por trás do Magento 3 -  Dicas e Tr...
Magento pra quem não conhece? Robusta plataforma de  e-commerce  open-source , flexível e extensível desenvolvido em PHP +...
Há algum tempo já faz barulho!
Modelos de licenciamento - Community - Professional (U$ 3.000,00 ano) - Enterprise (U$ 13.000,00 ano) - Magento Go (PasS –...
Quem está usando? - UOL, Buscapé, Dafiti, MundoCorrida, IG, Imprensa Oficial de SP, ChefTV, GlossyBox, CloudRetail, Cachaç...
 
Faltando mão de obra? - Média de duas propostas de trabalho por mês :-( -  Só no Brasil existem vagas abertas atualmente n...
Principais features - Cross-sell / Up-sell - Robusta engine de promoções - Suporta a comercialização de vários tipos de pr...
Abrindo a   Caixa Preta
Um aviso O Magento foi pensado desde o início para ser flexível o suficiente para que programadores escrevessem módulos e ...
O que tem por baixo? Magento roda na plataforma LAMP, utilizando Zend Framework  como base class Varien_Cache_Core extends...
Arquitetura MVC - Magento utiliza padrão MVC baseado em configuração; - Necessidade explicita de adicionar todas as inform...
Créditos:  http://www.matthias-zeis.com/archiv/tipps-entwicklung-mit-magento-teil-2
Créditos:  http://www.matthias-zeis.com/archiv/tipps-entwicklung-mit-magento-teil-2
Créditos:  http://www.matthias-zeis.com/archiv/tipps-entwicklung-mit-magento-teil-2
Modelo - EAV - Pra suportar um crescimento vertical, Magento precisou utilizar “modelos ricos” e extensíveis! - solução?  ...
Modelo - EAV -  EAV  é um modelo de dados “aberto”  que é usado em situações onde o número de atributos  de uma entidade p...
EAV – Modelo Tradicional - +------------------+ | produtos  |  +------------------+ | product_id  |  | nome  |  | preco  |...
EAV – Modelagem EAV - +------------------+ | eav_entidade  |  +------------------+ |entidade_id  |  | tipo  |  | codigo  |...
EAV – Modelagem EAV Modelando uma entidade produto, com 3 atributos (cor, descricao, tamanho), e inserindo 2 registros : P...
EAV – Modelagem EAV eav_entidade 1 | "produto" | "produto" | "Produto" eav_atributo 1 | 1 | ...
EAV – Modelagem EAV
Actions - Responsável pelo roteamento e  dispatch pra action correta - Cada action irá instanciar um objeto de layout - Ao...
Views - Camada de views no Magento é de certa forma complexa - Composta por Layouts, Blocks, Templates e Helpers
Views - Layouts – Chamada pelas actions, responsável por “carregar” os blocos - Os blocos são responsáveis por acessar os ...
Views - Exemplos <ul><li>Listagem de produtos </li></ul>- Listagem de produtos app/design/frontend/base/default/template/c...
Módulos - O Magento suporta a criação de módulos, sem que que altere o “core” da aplicação - Flexibilidade, Customização, ...
Módulos - Community: Disponibilizado para a comunidade (via Magento Connect – ou não) - Core: Módulos do release oficial d...
Toda configuração fica no XML <config> <modules> < PedroTeixeira _ Correios > <active>true</active> <codePool>community</c...
Magento Connect Magento connect funciona como um gerenciador de pacotes (tipo apt, yum) - Permite baixar pacotes e temas d...
Magento Connect -
Hands on - Dicas e Truques - Caches, Índices e catálogo flat - Debug para edição de layout - Otimizando a loja (caching de...
Hands on - Dicas e Truques - Caches, Índices e catálogo flat - Debug para edição de layout - Otimizando a loja (caching de...
Onde obter mais informações? - Beba direto da fonte:  magentocommerce.com Magento U - Comunidademagento.com.br - Escolamag...
Notas e referências Este webinar não é oficial do Magento - Referências magentocommerce.com escolamagento.com.br alanstorm...
Até breve... Perguntas, dúvidas,  bate papo? -
Próximos SlideShares
Carregando em…5
×

Webinar Magento Commerce

2.245 visualizações

Publicada em

Webinar sobre Magento que irá acontecer no dia 01/12/2011 em BH!
- Arquitetura do Magento
- Modelo de blocos e layouts
- EAV

0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.245
No SlideShare
0
A partir de incorporações
0
Número de incorporações
311
Ações
Compartilhamentos
0
Downloads
58
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Webinar Magento Commerce

  1. 1. Magento Commerce Abrindo a caixa preta
  2. 2. Quem sou eu? Desenvolvedor WEB há 9 anos (passou pela triste época de ter que renderizar html no Netscape 4 e pro IE5) Analista Desenvolvedor da Concrete Solutions, holding de TI com foco em Desenvolvimento de Software, atualmente trabalhando com RubyOnRails. Trabalhou 3 anos no UOL HOST com Magento sendo distribuído no modelo SaS Sócio do Cachaça Express Participou diretamente de mais de 10 projetos “Magento based” Instrutor do curso de Magento da PHPrime
  3. 3. Quem sou eu? marcelolinhares.com https://github.com/marcelolinhares http://www.linkedin.com/in/marcelolinhares
  4. 4. Agenda 1 – Introdução ao Magento e ruminanças sobre o mercado 2 – Conceitos e patterns por trás do Magento 3 - Dicas e Truques 4 – Bate papo ;-)
  5. 5. Magento pra quem não conhece? Robusta plataforma de e-commerce open-source , flexível e extensível desenvolvido em PHP + MySQL - mais de 100.000 lojas em todo mundo - Feature set compatível com grandes players fornecedoras de software B2C (Elasticpath, NetSuite, WebSphere Commerce, etc...) no mercado corporativo; - Expansível e modular (mais de 5 mil extensões disponibilizadas) - Comunidade ativa (mais de 600 mil membros no fórum oficial) - Recentemente comprada pela eBay
  6. 6. Há algum tempo já faz barulho!
  7. 7. Modelos de licenciamento - Community - Professional (U$ 3.000,00 ano) - Enterprise (U$ 13.000,00 ano) - Magento Go (PasS – de U$15 a U$125,00)
  8. 8. Quem está usando? - UOL, Buscapé, Dafiti, MundoCorrida, IG, Imprensa Oficial de SP, ChefTV, GlossyBox, CloudRetail, CachaçaExpress, Grudado, FarmaDelivery, MyGeekDay, Roche, Rocket Internet, Mundo Corrida, Concrete Solutions, iPagare, Moip, FOX, Nokia, Kipling, Adidas, Olympus, Ford, Lenovo...
  9. 10. Faltando mão de obra? - Média de duas propostas de trabalho por mês :-( - Só no Brasil existem vagas abertas atualmente na Rocket Internet, Concrete Solutions, Buscapé, UOL HOST... - 24 vagas abertas no Linkedin Brasil - 26 vagas abertas no fórum oficial (internacional)
  10. 11. Principais features - Cross-sell / Up-sell - Robusta engine de promoções - Suporta a comercialização de vários tipos de produtos; - Gestão completa de catálogos e estoque; - Otimizado para SEO - CMS - Multiloja e Multilayouts - Extensa variedade de relatórios nativos - Webmobile nativo - UGC, internacionalização, folksonomia, multi-usuários...
  11. 12. Abrindo a Caixa Preta
  12. 13. Um aviso O Magento foi pensado desde o início para ser flexível o suficiente para que programadores escrevessem módulos e extensões sem que alterasse as funcionalidades básicas do software (core) CUSTO? - O Magento tem um alto grau de complexidade, muitas vezes assustando designers e frontends (habituados com códigos PHP com apenas um arquivo) - Excesso de configuração e código para coisas aparentemente simples (tudo mapeado em XML);
  13. 14. O que tem por baixo? Magento roda na plataforma LAMP, utilizando Zend Framework como base class Varien_Cache_Core extends Zend_Cache_Core Varien_Db_Adapter_Pdo_Mysql class Varien_Filter_Object extends Zend_Filter
  14. 15. Arquitetura MVC - Magento utiliza padrão MVC baseado em configuração; - Necessidade explicita de adicionar todas as informações em arquivos de configuração; - Model View ViewModel ?
  15. 16. Créditos: http://www.matthias-zeis.com/archiv/tipps-entwicklung-mit-magento-teil-2
  16. 17. Créditos: http://www.matthias-zeis.com/archiv/tipps-entwicklung-mit-magento-teil-2
  17. 18. Créditos: http://www.matthias-zeis.com/archiv/tipps-entwicklung-mit-magento-teil-2
  18. 19. Modelo - EAV - Pra suportar um crescimento vertical, Magento precisou utilizar “modelos ricos” e extensíveis! - solução? EAV (Entity Attribute Value)
  19. 20. Modelo - EAV - EAV é um modelo de dados “aberto” que é usado em situações onde o número de atributos de uma entidade pode crescer elasticamente. Também conhecido como modelo de dados vertical - Em um modelo tradicional, entidades possuem um número fixo de atributos, no EAV, o número de atributos é elástico - No EAV, cada entidade que está sendo modelada tem um conjunto diferente de atributos
  20. 21. EAV – Modelo Tradicional - +------------------+ | produtos | +------------------+ | product_id | | nome | | preco | | cor | | peso |
  21. 22. EAV – Modelagem EAV - +------------------+ | eav_entidade | +------------------+ |entidade_id | | tipo | | codigo | - +------------------+ | eav_atributo | +------------------+ |atributo_id | | entidade_id | | attributo_codigo | | nome | | tipo | - +------------------+ | eav_valor | +------------------+ | id | | atributo_id | entidade_id | | valor | - +------------------+ | entidades | +------------------+ |id | | eav_entidade_id |
  22. 23. EAV – Modelagem EAV Modelando uma entidade produto, com 3 atributos (cor, descricao, tamanho), e inserindo 2 registros : Produto (cor => “azul”, descricao => “Camisa cor azul gola V”, tamanho => “P”) Produto (cor => “verde”, descricao => “Camisa cor verde gola rolê”, tamanho => “GG”)
  23. 24. EAV – Modelagem EAV eav_entidade 1 | &quot;produto&quot; | &quot;produto&quot; | &quot;Produto&quot; eav_atributo 1 | 1 | &quot;cor&quot; | &quot;Cor do do produto &quot; | 2 | 1 | &quot;descricao&quot; | &quot;Descricao do Produto&quot; | 3 | 1 | &quot;tamanho&quot; | &quot;Tamanho do Produto&quot; | entidades entidades | eav_entidade_id | usuario_id | 1 | 1 | 1 2 | 1 | 2 eav_value 1 | 1 | 1 | &quot;azul&quot; 2 | 2 | 1 | &quot;Camisa cor azul gola V&quot; 3 | 3 | 1 | &quot;Tamanho P&quot; -- 4 | 1 | 2 | &quot;verde&quot; 5 | 2 | 2 | &quot;Camisa cor Verde gola V&quot; 6 | 3 | 2 | &quot;Tamanho GG&quot; -
  24. 25. EAV – Modelagem EAV
  25. 26. Actions - Responsável pelo roteamento e dispatch pra action correta - Cada action irá instanciar um objeto de layout - Ao contrário dos sistemas MVC padrão, NÃO passa estrutura de dados pra VIEW
  26. 27. Views - Camada de views no Magento é de certa forma complexa - Composta por Layouts, Blocks, Templates e Helpers
  27. 28. Views - Layouts – Chamada pelas actions, responsável por “carregar” os blocos - Os blocos são responsáveis por acessar os dados do Model (contém alguma regra de negócio) e carregam o template (arquivos .php) - Templates – Responsável pelo output dos dados (extensão .phtml) - Layouts – Chamada pelas actions, responsável por “carregar” os blocos - Os blocos são responsáveis por acessar os dados do Model (contém alguma regra de negócio) e carregam o template (arquivos .php) - Templates – Responsável pelo output dos dados (extensão .phtml)
  28. 29. Views - Exemplos <ul><li>Listagem de produtos </li></ul>- Listagem de produtos app/design/frontend/base/default/template/catalog/product/list.phtml <?php $_productCollection=$this->getLoadedProductCollection() ?> <?php if(!$_productCollection->count()): ?> <div class=&quot;note-msg&quot;> <?php echo $this->__(&quot;There are no products matching the selection.&quot;) ?> </div> <?php else: ?> File: app/code/core/Mage/Catalog/Block/Product/List.php ... public function getLoadedProductCollection() { return $this->_getProductCollection(); }
  29. 30. Módulos - O Magento suporta a criação de módulos, sem que que altere o “core” da aplicação - Flexibilidade, Customização, sem perder a capacidade de upgrade -
  30. 31. Módulos - Community: Disponibilizado para a comunidade (via Magento Connect – ou não) - Core: Módulos do release oficial do Magento, recomenda não alterar - Local: Módulos específicos da loja -
  31. 32. Toda configuração fica no XML <config> <modules> < PedroTeixeira _ Correios > <active>true</active> <codePool>community</codePool> </PedroTeixeira_Correios> </modules> </config> PedroTeixeira – Namespace / Fabricante Correios – Nome do Módulo -
  32. 33. Magento Connect Magento connect funciona como um gerenciador de pacotes (tipo apt, yum) - Permite baixar pacotes e temas da comunidade em poucos cliques - Atualmente existem mais de 5000 extensões -
  33. 34. Magento Connect -
  34. 35. Hands on - Dicas e Truques - Caches, Índices e catálogo flat - Debug para edição de layout - Otimizando a loja (caching de JS e CSS, habilizar gzip, memcache) -
  35. 36. Hands on - Dicas e Truques - Caches, Índices e catálogo flat - Debug para edição de layout - Otimizando a loja (caching de JS e CSS, habilizar gzip, memcache) - “Compilação” dos arquivos - Alterando rota do administrador - Debugando errors -
  36. 37. Onde obter mais informações? - Beba direto da fonte: magentocommerce.com Magento U - Comunidademagento.com.br - Escolamagento.com.br (Mário Sam) - Gooogle ? - Treinamento de Magento na PHPrime em Belo Horizonte no início de Janeiro -
  37. 38. Notas e referências Este webinar não é oficial do Magento - Referências magentocommerce.com escolamagento.com.br alanstorm.com/ -
  38. 39. Até breve... Perguntas, dúvidas, bate papo? -

×