Melhores (ou boas) práticas no desenvolvimento para
Magento
Ricardo Martins http://ricardomartins.net.br
Meet Magento 2013 – Brasil, São Paulo
Sobre
• Desenvolvendo em PHP/Web desde 2005 • Com Magento desde 2011 • Na e-smart desde o último Meet Magento
Escolha certa
• Infinitas possibilidades e oportunidades • Comunidade gigante • Maior plataforma de e-commerce • Eventos legais ao redor do mundo
Imagine 2013 Las Vegas, NV
Magento Imagine – Las Vegas 2013
Magento Imagine – Las Vegas 2013
Magento Imagine – Las Vegas 2013
Vamos ao que interessa…
Melhores práticas
Boas práticas
Pra quem?
Se tudo correr bem...
• Criação de temas e pacotes • Criação e instalação de módulos • Versionamento e deploy • Ambiente de desenvolvimento e
playground • Ferramentas que nos ajudam
Temas e Pacotes
O Começo de toda loja
Pacote / Package Tema / Theme
Magento theme fall-back a partir do 1.4
Extraído do livro Magento Design Guide
A base de tudo
Package: base / Theme: default
Blank
Package: default/ Theme: blank
Os temas nativos
• default/blank • default/default Apenas com alterações de css no package base. Os arquivos de template vem do base/default. • default/modern • default/iphone
Criando nosso pacote
• Crie seu próprio package • Com seu tema default • Quanto menos arquivos de templates
sobrescrever, melhor
Criação e Instalação de Módulos
Cuidados
• Módulos criptografados • Override app/code/core • Override base/default • Layout XML e Templates em default/
default ao invés de base/default • Override de controllers e classes
– Tem como usar observer no lugar? • SQL Install e scripts de setup
e o maior de todos os cuidados..
EM PRODUÇÃO
NÃO TESTE
O Git ajuda nessas horas...
$ git status
Versionamento e Deploy
Fonte: http://www.sameerhalai.com/blog/quick-git-workflow-for-small-teams/
Git com Jira
Ambiente de Desenvolvimento e
Playground
IDE‘s
IDE
• Tem programa legalzinho pra programar pra Magento?
• Tem! • Qual? • Aquele que você mais gosta!
SublimeText2
sublimetext.com
PhpStorm + Magicento
http://www.jetbrains.com/phpstorm/ e http://magicento.com/
Ambiente de desenvolvimento
• Erros habilitados – php.ini > error_reporting / display_errors – MAGE_IS_DEVELOPER_MODE
no .htaccess • Recursos limitados • Versão do PHP e MySQL
– Sempre a mais recente? Nem sempre.
Playground
• Lugar pra você fazer experimentos
• Se divertir com os módulos experimentais
• Limite os acessos • Sample data • Facilite o rollback
– Git – Scripts de restore
Script simples de rollback Reset.sh ou Reset.bat
Ferramentas
Minhas favoritas
• Magneto Debug Toolbar • Wiz • Modgit / modman
Magneto Debug
http://goo.gl/XQ30WM
Wiz
https://github.com/classyllama/Wiz
Modgit/Modman
https://github.com/jreinke/modgit
Tem mais…
• n98-magerun (Symfony) • Module Creator
n98-magerun
https://github.com/netz98/n98-magerun
Module Creator
www.silksoftware.com/magento-module-creator/
Tem mais…
• Correios e auto-complete de ceps – Frete.co (www.frete.co)
• Alternativa com alto SLA para calculo de fretes • Base (realmente) completa de endereços • Só precisa mudar a URL do webservice
Frete.co
Sem Frete.co
Com Frete.co
Retorno com os mesmos elementos: {"resultado":"1","resultado_txt":"sucesso - cep completo","uf":"SP","cidade":"Santos","bairro":"Embar\u00e9","tipo_logradouro":"Rua","logradouro":"Edu Brancato"}
<?php exit();
Muito Obrigado
Contatos [email protected] http://ricardomartins.net.br/ github.com/r-martins
Apresentação Disponível em
http://slideshare.net/ricardo.martins
Top Related