SlideShare ist ein Scribd-Unternehmen logo
1 von 39
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)   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
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 Truques 4 – Bate papo ;-)
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
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 – de U$15 a U$125,00)
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...
 
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)
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...
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 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);
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
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 ?
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?  EAV (Entity Attribute Value)
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
EAV – Modelo Tradicional - +------------------+ | produtos  |  +------------------+ | product_id  |  | nome  |  | preco  |  | cor  | | peso  |
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  |
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”)
EAV – Modelagem EAV eav_entidade 1 | "produto" | "produto" | "Produto" eav_atributo 1 | 1 | "cor" | "Cor do do produto " | 2 | 1 | "descricao" | "Descricao do Produto" | 3 | 1 | "tamanho" | "Tamanho do Produto" | entidades entidades |  eav_entidade_id | usuario_id | 1  | 1  |  1 2  | 1  |  2 eav_value 1 | 1 | 1 | "azul" 2 | 2 | 1 | "Camisa cor azul gola V" 3 | 3 | 1 | "Tamanho P" -- 4 | 1 | 2 | "verde" 5 | 2 | 2 | "Camisa cor Verde gola V" 6 | 3 | 2 | "Tamanho GG" -
EAV – Modelagem EAV
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
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 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)
Views - Exemplos ,[object Object],- 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(); }
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 -
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 -
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 -
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  -
Magento Connect -
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) -
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 -
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  -
Notas e referências Este webinar não é oficial do Magento - Referências magentocommerce.com escolamagento.com.br alanstorm.com/ -
Até breve... Perguntas, dúvidas,  bate papo? -

Weitere ähnliche Inhalte

Ähnlich wie Magento Commerce Abrindo a caixa preta

15º EDTED, Rio de Janeiro - Magento
15º EDTED, Rio de Janeiro - Magento15º EDTED, Rio de Janeiro - Magento
15º EDTED, Rio de Janeiro - MagentoAdriano Aguiar
 
Apresentacao cms e_magento
Apresentacao cms e_magentoApresentacao cms e_magento
Apresentacao cms e_magentoMarcio Mota
 
Como criar módulos para magento 2
Como criar módulos para magento 2Como criar módulos para magento 2
Como criar módulos para magento 2Rafael Corrêa Gomes
 
Construindo Layouts com o Magento Commerce
Construindo Layouts com o Magento CommerceConstruindo Layouts com o Magento Commerce
Construindo Layouts com o Magento CommerceAndre Gugliotti
 
Primeiros Passos no Magento Commerce
Primeiros Passos no Magento CommercePrimeiros Passos no Magento Commerce
Primeiros Passos no Magento CommerceAndre Gugliotti
 
Curso Fundamento de Magento - módulo 2
Curso Fundamento de Magento - módulo 2Curso Fundamento de Magento - módulo 2
Curso Fundamento de Magento - módulo 2Andre Gugliotti
 
Magento - Oficina de desenvolvimento web para o evento Design Vale em Lorena
Magento - Oficina de desenvolvimento web para o evento Design Vale em LorenaMagento - Oficina de desenvolvimento web para o evento Design Vale em Lorena
Magento - Oficina de desenvolvimento web para o evento Design Vale em Lorenaedersilva.com
 
Curso Fundamentos de Magento - módulo 1
Curso Fundamentos de Magento - módulo 1Curso Fundamentos de Magento - módulo 1
Curso Fundamentos de Magento - módulo 1Andre Gugliotti
 
Primeiros Passos no Magento Commerce
Primeiros Passos no Magento CommercePrimeiros Passos no Magento Commerce
Primeiros Passos no Magento CommerceAndre Gugliotti
 
Como Vender Mais Com Magento
Como Vender Mais Com MagentoComo Vender Mais Com Magento
Como Vender Mais Com MagentoiPAGARE Magento
 
Meetup tecnologia - desenvolvimento, infra e processos
Meetup  tecnologia - desenvolvimento, infra e processosMeetup  tecnologia - desenvolvimento, infra e processos
Meetup tecnologia - desenvolvimento, infra e processosGuilherme Veras
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpRodrigo Aramburu
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoÉberli Cabistani Riella
 
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3 Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3 Vinicius Elyseu
 
Melhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoMelhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoRicardo Martins
 
Gestão de Lojas com Magento
Gestão de Lojas com MagentoGestão de Lojas com Magento
Gestão de Lojas com MagentoAndre Gugliotti
 

Ähnlich wie Magento Commerce Abrindo a caixa preta (20)

Magento: Mitos vs Vantagens
Magento: Mitos vs VantagensMagento: Mitos vs Vantagens
Magento: Mitos vs Vantagens
 
Workshop Magento
Workshop MagentoWorkshop Magento
Workshop Magento
 
15º EDTED, Rio de Janeiro - Magento
15º EDTED, Rio de Janeiro - Magento15º EDTED, Rio de Janeiro - Magento
15º EDTED, Rio de Janeiro - Magento
 
Apresentacao cms e_magento
Apresentacao cms e_magentoApresentacao cms e_magento
Apresentacao cms e_magento
 
Como criar módulos para magento 2
Como criar módulos para magento 2Como criar módulos para magento 2
Como criar módulos para magento 2
 
Construindo Layouts com o Magento Commerce
Construindo Layouts com o Magento CommerceConstruindo Layouts com o Magento Commerce
Construindo Layouts com o Magento Commerce
 
Primeiros Passos no Magento Commerce
Primeiros Passos no Magento CommercePrimeiros Passos no Magento Commerce
Primeiros Passos no Magento Commerce
 
Joomla! CMS
Joomla! CMSJoomla! CMS
Joomla! CMS
 
O que é Magento?
O que é Magento?O que é Magento?
O que é Magento?
 
Curso Fundamento de Magento - módulo 2
Curso Fundamento de Magento - módulo 2Curso Fundamento de Magento - módulo 2
Curso Fundamento de Magento - módulo 2
 
Magento - Oficina de desenvolvimento web para o evento Design Vale em Lorena
Magento - Oficina de desenvolvimento web para o evento Design Vale em LorenaMagento - Oficina de desenvolvimento web para o evento Design Vale em Lorena
Magento - Oficina de desenvolvimento web para o evento Design Vale em Lorena
 
Curso Fundamentos de Magento - módulo 1
Curso Fundamentos de Magento - módulo 1Curso Fundamentos de Magento - módulo 1
Curso Fundamentos de Magento - módulo 1
 
Primeiros Passos no Magento Commerce
Primeiros Passos no Magento CommercePrimeiros Passos no Magento Commerce
Primeiros Passos no Magento Commerce
 
Como Vender Mais Com Magento
Como Vender Mais Com MagentoComo Vender Mais Com Magento
Como Vender Mais Com Magento
 
Meetup tecnologia - desenvolvimento, infra e processos
Meetup  tecnologia - desenvolvimento, infra e processosMeetup  tecnologia - desenvolvimento, infra e processos
Meetup tecnologia - desenvolvimento, infra e processos
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephp
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
 
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3 Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3
 
Melhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoMelhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magento
 
Gestão de Lojas com Magento
Gestão de Lojas com MagentoGestão de Lojas com Magento
Gestão de Lojas com Magento
 

Mehr von Marcelo Linhares

getninjas-sa-prospecto-pre.pdf
getninjas-sa-prospecto-pre.pdfgetninjas-sa-prospecto-pre.pdf
getninjas-sa-prospecto-pre.pdfMarcelo Linhares
 
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdf
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdfBRASIL-TRAVEL-PRELIMINAR-V20-online.pdf
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdfMarcelo Linhares
 
20201019_Minuta do Prospecto Preliminar_tokstok.pdf
20201019_Minuta do Prospecto Preliminar_tokstok.pdf20201019_Minuta do Prospecto Preliminar_tokstok.pdf
20201019_Minuta do Prospecto Preliminar_tokstok.pdfMarcelo Linhares
 
20201204 Minuta do Prospecto Preliminar_kalunga.pdf
20201204 Minuta do Prospecto Preliminar_kalunga.pdf20201204 Minuta do Prospecto Preliminar_kalunga.pdf
20201204 Minuta do Prospecto Preliminar_kalunga.pdfMarcelo Linhares
 
20201008_Prospecto Preliminar_wine.pdf
20201008_Prospecto Preliminar_wine.pdf20201008_Prospecto Preliminar_wine.pdf
20201008_Prospecto Preliminar_wine.pdfMarcelo Linhares
 
20210727_Minuta do Prospecto Preliminar_vix.pdf
20210727_Minuta do Prospecto Preliminar_vix.pdf20210727_Minuta do Prospecto Preliminar_vix.pdf
20210727_Minuta do Prospecto Preliminar_vix.pdfMarcelo Linhares
 
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdf
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdfbluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdf
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdfMarcelo Linhares
 
20211021_Minuta do Prospecto Preliminar_cantu.pdf
20211021_Minuta do Prospecto Preliminar_cantu.pdf20211021_Minuta do Prospecto Preliminar_cantu.pdf
20211021_Minuta do Prospecto Preliminar_cantu.pdfMarcelo Linhares
 
20201123_Minuta do Prospecto Preliminar_cortel.pdf
20201123_Minuta do Prospecto Preliminar_cortel.pdf20201123_Minuta do Prospecto Preliminar_cortel.pdf
20201123_Minuta do Prospecto Preliminar_cortel.pdfMarcelo Linhares
 
20210422_Minuta do Prospecto Preliminar_hortifruti.pdf
20210422_Minuta do Prospecto Preliminar_hortifruti.pdf20210422_Minuta do Prospecto Preliminar_hortifruti.pdf
20210422_Minuta do Prospecto Preliminar_hortifruti.pdfMarcelo Linhares
 
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdfMarcelo Linhares
 
20201023_Minuta do Prospecto Preliminar_emmcamp.pdf
20201023_Minuta do Prospecto Preliminar_emmcamp.pdf20201023_Minuta do Prospecto Preliminar_emmcamp.pdf
20201023_Minuta do Prospecto Preliminar_emmcamp.pdfMarcelo Linhares
 
20200904_Minuta do Prospecto Preliminar_nissei.pdf
20200904_Minuta do Prospecto Preliminar_nissei.pdf20200904_Minuta do Prospecto Preliminar_nissei.pdf
20200904_Minuta do Prospecto Preliminar_nissei.pdfMarcelo Linhares
 
20210802_Minuta do Prospecto Preliminar_madero.pdf
20210802_Minuta do Prospecto Preliminar_madero.pdf20210802_Minuta do Prospecto Preliminar_madero.pdf
20210802_Minuta do Prospecto Preliminar_madero.pdfMarcelo Linhares
 
20220201_Minuta do Prospecto Preliminar_senior.pdf
20220201_Minuta do Prospecto Preliminar_senior.pdf20220201_Minuta do Prospecto Preliminar_senior.pdf
20220201_Minuta do Prospecto Preliminar_senior.pdfMarcelo Linhares
 
20211018_Minuta do Prospecto Preliminar_superbid.pdf
20211018_Minuta do Prospecto Preliminar_superbid.pdf20211018_Minuta do Prospecto Preliminar_superbid.pdf
20211018_Minuta do Prospecto Preliminar_superbid.pdfMarcelo Linhares
 

Mehr von Marcelo Linhares (20)

getninjas-sa-prospecto-pre.pdf
getninjas-sa-prospecto-pre.pdfgetninjas-sa-prospecto-pre.pdf
getninjas-sa-prospecto-pre.pdf
 
UberCab_Dec2008.pdf
UberCab_Dec2008.pdfUberCab_Dec2008.pdf
UberCab_Dec2008.pdf
 
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdf
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdfBRASIL-TRAVEL-PRELIMINAR-V20-online.pdf
BRASIL-TRAVEL-PRELIMINAR-V20-online.pdf
 
track_field.pdf
track_field.pdftrack_field.pdf
track_field.pdf
 
privalia_ipo.pdf
privalia_ipo.pdfprivalia_ipo.pdf
privalia_ipo.pdf
 
picpay_filling.pdf
picpay_filling.pdfpicpay_filling.pdf
picpay_filling.pdf
 
20201019_Minuta do Prospecto Preliminar_tokstok.pdf
20201019_Minuta do Prospecto Preliminar_tokstok.pdf20201019_Minuta do Prospecto Preliminar_tokstok.pdf
20201019_Minuta do Prospecto Preliminar_tokstok.pdf
 
20201204 Minuta do Prospecto Preliminar_kalunga.pdf
20201204 Minuta do Prospecto Preliminar_kalunga.pdf20201204 Minuta do Prospecto Preliminar_kalunga.pdf
20201204 Minuta do Prospecto Preliminar_kalunga.pdf
 
20201008_Prospecto Preliminar_wine.pdf
20201008_Prospecto Preliminar_wine.pdf20201008_Prospecto Preliminar_wine.pdf
20201008_Prospecto Preliminar_wine.pdf
 
20210727_Minuta do Prospecto Preliminar_vix.pdf
20210727_Minuta do Prospecto Preliminar_vix.pdf20210727_Minuta do Prospecto Preliminar_vix.pdf
20210727_Minuta do Prospecto Preliminar_vix.pdf
 
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdf
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdfbluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdf
bluefit-academias-de-ginastica-e-participacoes-sa-prospecto-pre_bluefit.pdf
 
20211021_Minuta do Prospecto Preliminar_cantu.pdf
20211021_Minuta do Prospecto Preliminar_cantu.pdf20211021_Minuta do Prospecto Preliminar_cantu.pdf
20211021_Minuta do Prospecto Preliminar_cantu.pdf
 
20201123_Minuta do Prospecto Preliminar_cortel.pdf
20201123_Minuta do Prospecto Preliminar_cortel.pdf20201123_Minuta do Prospecto Preliminar_cortel.pdf
20201123_Minuta do Prospecto Preliminar_cortel.pdf
 
20210422_Minuta do Prospecto Preliminar_hortifruti.pdf
20210422_Minuta do Prospecto Preliminar_hortifruti.pdf20210422_Minuta do Prospecto Preliminar_hortifruti.pdf
20210422_Minuta do Prospecto Preliminar_hortifruti.pdf
 
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf
20210910_PROSPECTO PRELIMINAR_CAPTALYS.pdf
 
20201023_Minuta do Prospecto Preliminar_emmcamp.pdf
20201023_Minuta do Prospecto Preliminar_emmcamp.pdf20201023_Minuta do Prospecto Preliminar_emmcamp.pdf
20201023_Minuta do Prospecto Preliminar_emmcamp.pdf
 
20200904_Minuta do Prospecto Preliminar_nissei.pdf
20200904_Minuta do Prospecto Preliminar_nissei.pdf20200904_Minuta do Prospecto Preliminar_nissei.pdf
20200904_Minuta do Prospecto Preliminar_nissei.pdf
 
20210802_Minuta do Prospecto Preliminar_madero.pdf
20210802_Minuta do Prospecto Preliminar_madero.pdf20210802_Minuta do Prospecto Preliminar_madero.pdf
20210802_Minuta do Prospecto Preliminar_madero.pdf
 
20220201_Minuta do Prospecto Preliminar_senior.pdf
20220201_Minuta do Prospecto Preliminar_senior.pdf20220201_Minuta do Prospecto Preliminar_senior.pdf
20220201_Minuta do Prospecto Preliminar_senior.pdf
 
20211018_Minuta do Prospecto Preliminar_superbid.pdf
20211018_Minuta do Prospecto Preliminar_superbid.pdf20211018_Minuta do Prospecto Preliminar_superbid.pdf
20211018_Minuta do Prospecto Preliminar_superbid.pdf
 

Magento Commerce Abrindo a caixa preta

  • 1. Magento Commerce Abrindo a caixa preta
  • 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. Quem sou eu? marcelolinhares.com https://github.com/marcelolinhares http://www.linkedin.com/in/marcelolinhares
  • 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. 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. Há algum tempo já faz barulho!
  • 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. 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)
  • 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...
  • 12. Abrindo a Caixa Preta
  • 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);
  • 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
  • 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 ?
  • 19. Modelo - EAV - Pra suportar um crescimento vertical, Magento precisou utilizar “modelos ricos” e extensíveis! - solução? EAV (Entity Attribute Value)
  • 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
  • 21. EAV – Modelo Tradicional - +------------------+ | produtos | +------------------+ | product_id | | nome | | preco | | cor | | peso |
  • 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 |
  • 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”)
  • 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; -
  • 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
  • 27. Views - Camada de views no Magento é de certa forma complexa - Composta por Layouts, Blocks, Templates e Helpers
  • 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)
  • 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 -
  • 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 -
  • 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 -
  • 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 -
  • 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) -
  • 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 -
  • 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 -
  • 38. Notas e referências Este webinar não é oficial do Magento - Referências magentocommerce.com escolamagento.com.br alanstorm.com/ -
  • 39. Até breve... Perguntas, dúvidas, bate papo? -