Temas em Magento

Page 1

AndrĂŠ Gugliotti

Novatec


© Novatec Editora Ltda. 2014. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora.

Editor: Rubens Prates Revisão técnica: Márcio Oliveira e Fábio Rodrigues Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Capa: Carolina Kuwabata ISBN: 978-85-7522-396-3 Histórico de impressões: Fevereiro/2014

Primeira edição

Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec MP20140219


capítulo 1

Magento Commerce

1.1 O que você verá neste capítulo Antes de começarmos a trabalhar nos temas para Magento propriamente ditos, é preciso entender o que é o Magento Commerce, seus princípios e as partes que o compõem. É realmente importante ter uma visão geral da plataforma e do funcionamento de uma loja virtual ainda que você vá trabalhar apenas no desenvolvimento de temas, já que uma loja virtual só terá sucesso se todas as partes funcionarem em sintonia. Sim, é preciso que você entenda como o Magento funciona para que os temas que serão desenvolvidos possam contemplar os principais pontos que compõem uma loja virtual, especialmente aqueles que se referem ao consumidor, razão de ser de uma loja virtual. Como este capítulo é um resumo do meu primeiro livro, se você leu Lojas Virtuais com Magento, pode tranquilamente pular para o capítulo 2 e começar o trabalho propriamente dito.

1.2 Desenvolvimento do Magento O Magento Commerce é fruto direto da visão de dois profissionais: Roy Rubin e Yoav Kutner. Ambos eram sócios da Varien, uma empresa localizada na Califórnia, nos Estados Unidos, e que assim como tantas outras decidiu apostar no desenvolvimento de websites e softwares para internet. Mais do que isso, assim como tantas outras, a Varien fazia de tudo, nas palavras de seus fundadores, e lutava todos os dias para ser uma organização maior e melhor. 16


Capítulo 1 ■ Magento Commerce

17

Em 2006, quando a empresa tinha cinco anos de vida, eles começaram a sentir um aumento na demanda por lojas virtuais, com cada vez mais empresas interessadas em vender online. Esse aumento da demanda não refletia em uma oferta maior de softwares para a construção de lojas ou em novas soluções. Nessa época, eles construíam lojas utilizando o OsCommerce – uma ferramenta de lojas virtuais open source –, mas sentiam que não poderiam ir muito longe se não repensassem essa situação e passassem a construir lojas virtuais baseadas em uma plataforma mais robusta. A partir dessa premissa, eles decidiram arriscar e inovar. Em vez de seguir vendendo lojas para seus clientes em cima de plataformas limitadas, eles acreditaram que poderiam construir uma plataforma nova, que não apenas serviria para os clientes da Varien, mas também para outras empresas, pois poderia ser distribuída no modelo open source, com o código aberto. Durante os meses seguintes, um time dentro da Varien trabalhou na construção da primeira versão do Magento. Entre as decisões tomadas no direcionamento do trabalho estava a adoção de um framework, conjunto de códigos e scripts já prontos, que podem ser usados como base na construção de uma nova ferramenta. Ao adotar o Zend Framework como ponto de partida, os desenvolvedores economizaram tempo, ao utilizar rotinas prontas como base para todo o conjunto de módulos e códigos que resultariam no Magento. No começo de 2007, a Varien tinha boa parte do código do Magento pronto e começou a interação com outros técnicos e curiosos, lançando o blog do Magento (Figura 1.1). Essa iniciativa visava a angariar apoio da comunidade de desenvolvedores não apenas para testar e divulgar a plataforma, mas principalmente para obter sugestões de funcionalidades e incentivar o desenvolvimento de módulos de terceiros para o Magento. É interessante que essa visão inicial de trazer a comunidade para auxiliar no desenvolvimento da plataforma ainda é atual e talvez seja um dos grandes conflitos do Magento. Desde o começo, a Varien nunca teve a intenção de fazer uma plataforma completa. A ideia era fazer um software com as funções básicas que uma loja deve ter (e que, no caso do Magento,


18

Temas em Magento

vai além disso e oferece mais recursos que os principais concorrentes), mas que pudesse dar espaço para que uma série de desenvolvedores, sejam independentes, sejam empresas de desenvolvimento, criasse módulos que expandissem as funcionalidades nativas e obtivessem receitas com o licenciamento desses módulos.

Figura 1.1 – Post inicial do blog do Magento, em abril de 2007, convidando a comunidade a opinar sobre a nova plataforma.

A partir daí, o Magento começou a realmente tomar forma e crescer. Em março de 2008, foi lançado o primeiro release estável, a Community Edition (CE) 1.0. Apesar de tecnicamente já estar pronta para uso, poucos puderam utilizar essa versão. Nessa época, a maior parte dos servidores e provedores trabalhava com PHP 4, e o Magento já nasceu ligado ao PHP 5, na época ainda recente e portanto restrito a poucos ambientes. Dificuldades com extensões obrigatórias e um processo de instalação difícil ainda acompanharam o software até sua versão 1.3, lançada no começo de 2009. Atualmente, o Magento Community Edition é distribuído na versão 1.8.1.0, lançada no segundo semestre de 2013. Essa versão, assim como sua antecessora, é estável e pode ser usada pela maioria das lojas de pequeno e médio porte, tomando-se os devidos cuidados de dimensionar o servidor para atender à demanda e sem esquecer que catálogos grandes (normalmente com mais de 5 mil produtos) requerem total atenção quando se utiliza a Community Edition.


Capítulo 1 ■ Magento Commerce

19

Em paralelo, o time da Magento Inc. trabalha no novo Magento, chamado de Magento 2. Essa nova versão vem sendo construída por dois anos e alguns desenvolvedores já estão testando o software, disponível para download no ambiente de testes da plataforma.

1.3 Versões do Magento Inicialmente lançada como open source e gratuita, a Community Edition logo ganhou uma irmã mais robusta. Em 2009, a Varien, empresa desenvolvedora do Magento, lançou a Enterprise Edition, uma versão licenciável do Magento, com algumas diferenças no código e a possibilidade de suporte. A ideia por trás da Enterprise é aproveitar o core da Community e melhorá-lo, com a adição de outros módulos que permitam um melhor gerenciamento da loja, além de ferramentas adicionais como um suporte à busca melhorado ou vendas exclusivas para clientes selecionados. Como você vê na figura 1.2, a forma de trabalho da versão Enterprise é a mesma da versão Community. O núcleo do software é o mesmo, os processos e as rotinas são muito similares e as diferenças ficam mesmo nas funcionalidades extras. Isso significa que, quando nos referimos ao desenvolvimento de módulos e temas, o processo é praticamente o mesmo, com pequenas diferenças apenas na nomenclatura de pastas. Um tema feito para a Community Edition funcionará perfeitamente na Enterprise Edition. Ao lançar a Enterprise Edition, a Varien passou a cobrar uma taxa anual de licenciamento e a angariar empresas que pudessem dar um suporte local aos clientes dessa versão. Essas empresas são as Certified Partners, agências e empresas de desenvolvimento que ficam responsáveis pela implantação e manutenção de lojas virtuais Magento no mundo todo. A partir da Enterprise Edition, ainda foi lançada uma versão intermediária, chamada Professional Edition, que teve vida curta e não é mais disponibilizada. Além dessas duas versões instaláveis, existe também o Magento Go, no modelo de lojas virtuais como serviço, em que o cliente paga uma mensalidade e tem a estrutura da loja pronta para funcionar, podendo concentrar-se totalmente em aspectos do negócio, como catálogo de


Temas em Magento

20

produtos, clientes, logística. Esse serviço está disponível em escala mundial, porém não é adaptado ao Brasil, o que reduz sua utilização por aqui.

Figura 1.2 – Painel de Controle da Enterprise Edition.

Toda essa movimentação chamou a atenção do eBay, o conhecido site de leilões e vendas de produtos. No começo de 2010, a empresa comprou 50% da Varien, por intermédio de sua subsidiária PayPal, criando a Magento Inc. No ano seguinte, o mesmo eBay compraria o restante da empresa, passando a ser a única controladora do Magento. Assim, atualmente a Magento Inc. é uma das muitas empresas que fazem parte do eBay, com as vantagens e desvantagens dessa situação.

1.4 Instalação do Magento A instalação do Magento é relativamente simples, desde que tomados alguns cuidados, e não faz parte do escopo deste livro. A instalação do Magento foi tratada em detalhes no livro Lojas Virtuais com Magento e também é explicada em diversos tutoriais e vídeos na internet. Porém vale a pena passar por alguns pontos.


Capítulo 1 ■ Magento Commerce

21

A questão mais comum quando se vai fazer uma instalação Magento é onde fazer. O Magento pode ser instalado em diversos ambientes, desde que um servidor Web (normalmente o Apache), um banco de dados (por enquanto, apenas o MySQL) e o PHP estejam instalados e que os requisitos mínimos sejam atendidos. Você pode fazer a instalação de forma local, em seu computador, ou utilizar os serviços de um provedor de hospedagem. Você também pode fazer a instalação via Downloader, via Pacote Completo ou via SVN.

1.4.1 Instalação via Downloader A instalação via Downloader é o método mais simples. Você deve visitar o site www.magentocommerce.com e fazer seu cadastro. Uma vez logado, basta procurar o menu Products > Opensource/CE, depois Community Edition, View All Downloads (Figura 1.3) e por fim selecionar a opção Downloader.

Figura 1.3 – Tela de escolha para download da Community Edition.


Temas em Magento

22

Não se preocupe se o número de versão do Downloader for diferente do da última versão do Magento, pois essas versões seguem numerações diferentes. O Downloader é um arquivo único, chamado downloader.php. Este arquivo, uma vez colocado no servidor e acessado via navegador (em www.minhaloja.com.br/downloader.php), se encarrega de fazer o download de todos os arquivos necessários, na última versão estável, diretamente do repositório do Magento, e depois faz a instalação do software, nos mesmos passos da instalação completa.

1.4.2 Instalação via pacote completo A instalação via pacote completo é indicada se você já tem os arquivos ou se o seu ambiente apresenta problemas quando o Downloader é executado. Assim como no caso anterior, você deve visitar o site www.magentocommerce.com e fazer seu cadastro. Uma vez logado, basta procurar o menu Products > Opensource/CE, depois Community Edition, View All Downloads (como mostrado na figura 1.3) e por fim selecionar a opção Full Release. A opção Full Release é composta de uma pasta compactada, com todos os arquivos necessários para fazer o Magento funcionar. Para instalá-lo, é preciso descompactar a pasta e colocar os arquivos em seu servidor, via FTP ou SSH, na pasta raiz de seu site. A partir daí, basta acessar o endereço de sua loja via navegador (em www.minhaloja.com.br) e seguir a instalação composta de quatro passos, em que você deve: • aceitar a licença do Magento; • definir as configurações regionais; • definir as credenciais de acesso ao banco de dados e a URL da loja; • informar os dados de acesso do administrador do sistema.

1.4.3 Instalação via SVN A instalação via SVN é muito semelhante ao Downloader no que se refere à obtenção dos arquivos, pois você não precisa fazer o download manual. Para instalação via SVN, você precisa de um software específico como


Capítulo 1 ■ Magento Commerce

23

o Tortoise, que você encontra em tortoisesvn.tigris.org e que poderá ser instalado em sua máquina. Configurando o software com o endereço da última versão do Magento, você conseguirá obter todos os arquivos da versão mais recente de forma automática.

1.4.4 Configurações do sistema Ao se concluir a instalação do Magento propriamente dita, há uma série de configurações a fazer, especialmente dentro do menu Sistema > Configurações. No livro Lojas Virtuais com Magento, as principais configurações são explicadas em detalhes. Assim, se você tiver dúvidas sobre como configurar o Magento para uso, sugiro que dê uma olhada lá ou que faça uma busca nas principais fontes de informação sobre Magento na internet. Duas funções, porém, merecem a sua atenção, ainda que boa parte das pessoas já saiba que elas são fontes potenciais de problemas: o cache e os índices. O cache é uma coleção de arquivos construídos pelo Magento para diminuir o tempo de carregamento de uma página. Como será explorado nos próximos capítulos, uma página no Magento não é composta de um único arquivo, mas de uma série de pequenos arquivos, cada um respondendo por um pedaço da página. O carregamento desses arquivos a todo instante faria com que o Magento ficasse lento e consumiria recursos do servidor desnecessariamente. Para que isso não ocorra, o Magento utiliza o cache, colocando todos esses arquivos em conjunto uma única vez e deixando a página pronta para ser servida, com tempo de carregamento muito menor. O problema é que essas páginas funcionam como fotografias tiradas em algum lugar do passado. Se você fizer modificações nos arquivos, elas não serão refletidas na página até que você atualize o cache. Por isso, enquanto você estiver trabalhando no desenvolvimento de temas para Magento, a regra é que o cache fique desabilitado (Figura 1.4). Ainda assim, é interessante que você dê uma passada na tela de gerenciamento do cache se achar que aquelas alterações que você tem certeza que foram feitas corretamente não estão aparecendo no frontend.


Temas em Magento

24

Figura 1.4 – Gerenciamento do cache no painel do Magento.

Além do cache, o Magento também utiliza os índices para aumentar a velocidade de resposta de suas páginas. Os índices são como resumos, um agrupamento de informações no banco de dados que permite que as informações importantes sejam encontradas mais rapidamente. Os índices não têm relação direta com o tema, mas vale ter em mente que eles também são fotografias, o que faz com que, em certos momentos, ao acessar as páginas do Magento, estejamos olhando para o passado (e, portanto, para uma época em que as modificações que foram feitas por você ainda não valiam).

1.4.5 Dimensionamento do servidor Em relação ao dimensionamento, esse é um assunto bem controverso. Não há uma regra sobre quais devem ser os recursos disponíveis para que sua loja Magento funcione corretamente, e na maioria das vezes o que vale é o bom senso. Uma loja com poucas visitas e poucos produtos pode funcionar de maneira adequada até mesmo em uma conta compartilhada, mas o ideal é que você busque ao menos uma VPS ou um servidor virtual isolado, sem outros websites instalados nele, para que você tenha mais controle.


Capítulo 1 ■ Magento Commerce

25

Se sua loja for maior, dificilmente você escapará de buscar um servidor dedicado ou uma hospedagem na nuvem, o serviço de cloud hosting. Isso acontece porque o Magento é uma plataforma grande e complexa e que depende de recursos do servidor para trabalhar bem. Quanto maior for o seu catálogo de produtos e maior o número de visitas em sua loja, especialmente visitas simultâneas, mais recursos o Magento demandará e mais recursos o servidor deverá disponibilizar.

1.5 Modularidade do Magento O grande diferencial do Magento está em sua modularidade. Apesar de isso deixar desenvolvedores malucos no começo, é justamente a arquitetura do Magento e sua facilidade em ser expandido que fez com que ele crescesse rapidamente e dominasse o mercado. Há outras plataformas gratuitas disponíveis, mas nenhuma delas ainda consegue oferecer o que o Magento oferece, seja em termos de recursos nativos, seja em termos de possibilidades de expansão. Ser modular significa que todos os elementos do Magento foram construídos em blocos, em módulos que se complementam e compõem o sistema como um todo. Pra que você tenha sucesso no Magento, a modularidade precisa ser entendida como onipresente. O fato de tudo na plataforma ser separado em blocos distintos permite que você tenha diferentes catálogos de produtos e lojas na mesma instalação. Também permite que os temas funcionem em harmonia e em linha com diferentes traduções e diferentes módulos. Manter a modularidade e a separação dos elementos no Magento deve ser uma das principais preocupações de quem vai trabalhar com o software. Dessa forma, você pode ter diferentes temas em uma mesma instalação do Magento e cada um desses temas estará disponível para todas as lojas e poderá ser usado em diferentes páginas, sem perder sua consistência. Você pode aplicar uma variação de um tema para uma categoria específica e outra variação para a página de um produto que esteja em promoção, assim como criar uma cara nova para sua página inicial na época do Natal.


Temas em Magento

26

A modularidade permite que o software seja facilmente atualizável e possa ser expandido com segurança, sem que um elemento interfira no outro – desde que os módulos tenham sido construídos de acordo com as boas práticas de codificação, já que módulos mal desenvolvidos facilmente transformam-se em um tormento para desenvolvedores e lojistas. Para facilitar, vou dividir estes elementos em duas categorias: • Core – são todos os arquivos, códigos, módulos, temas que fazem parte do Magento em si. Esse conjunto de arquivos é desenvolvido, distribuído e atualizado pelo próprio time do Magento e só deve ser alterado por seus componentes. Constituem o próprio Magento em si, com suas funcionalidades nativas. • Não-core – são todos os arquivos, códigos, módulos, temas que não fazem parte do Magento originalmente, mas foram agregados a uma determinada instalação. São os módulos disponíveis no Magento Connect ou extensões desenvolvidas por terceiros, específicas para uma loja. Também estão incluídos os temas diferentes do tema-padrão do Magento. Esses arquivos são instalados à parte e não devem interferir ou modificar arquivos do core. IMPORTANTE: Esse é um mantra que infelizmente terei de repetir enquanto trabalhar com Magento. Você não deve alterar arquivos do core do Magento, nem modificar os arquivos do tema Base/Default. Esses arquivos são a base do Magento e devem ser mantidos intactos. Qualquer mudança para atender sua loja virtual deve ser feita em uma forma que estenda os arquivos originais, porém sem modificá-los diretamente. Você também deve documentar as alterações, a fim de ter um melhor controle no futuro. Dessa forma, as atualizações são muito mais seguras e a correção de problemas pode ser feita em poucos cliques, desligando-se o módulo defeituoso até que uma solução concreta possa ser apresentada.

1.6 Magento Connect O lugar mais lembrado na hora de procurar módulos para Magento é o Magento Connect (Figura 1.5). Ele é um catálogo centralizado de módulos, disponível no próprio site do Magento. Ali, desenvolvedores cadastram os módulos que desejam distribuir ou vender e profissionais que trabalham


Capítulo 1 ■ Magento Commerce

27

com Magento ou gestores de lojas podem encontrar extensões que atendam as suas necessidades específicas, como por exemplo gerenciadores de sliders, integrações com redes sociais, módulos de envio e de pagamento, integração com serviços de terceiros e outros. O funcionamento do Magento Connect é bem simples: primeiro, navega-se pelo catálogo de produtos, em www.magentocommerce.com/magentoconnect, buscando-se o módulo desejado. Na página do módulo é possível saber mais sobre suas funcionalidades, quem é o desenvolvedor, quando e como foram feitas as últimas atualizações e o que outras pessoas estão falando desse módulo. Essas informações são fundamentais para saber o que se deve esperar do módulo, quais são seus potenciais problemas e como seu desenvolvedor lida com eles.

Figura 1.5 – Página do módulo Featured Products, da aheadWorks, no Magento Connect.

Uma vez logado no site, é possível obter o código de instalação. Antes de ter acesso ao código, você precisa concordar com os termos de licença e também escolher qual é a versão do Magento Connect que você está usando. De um modo prático, lojas Magento até 1.5 utilizam o Magento Connect 1.0 enquanto as versões posteriores usam o Magento Connect 2.0. Com o código em mãos, é só acessar o painel de controle de sua loja e buscar a opção Sistema > Magento Connect > Gerenciador do Magento Connect. Para que você acesse a área do Magento Connect em sua loja, é preciso logar novamente e seu usuário deve ter permissões de administrador.


Temas em Magento

28

Na tela do Gerenciador do Magento Connect, basta colar o código copiado e solicitar a instalação. Ele abrirá uma tela de comando e executará a ação, instalando o módulo desejado. Quando voltar ao painel de controle do Magento, não se esqueça de refazer o cache e sair do painel, logando novamente, antes de acessar a área de administração do módulo. DICA: Não se esqueça de que um módulo nunca deve ser instalado diretamente em uma loja em produção, mas testado primeiro em um ambiente próprio para isso. Além disso, existe um erro muito comum no Magento Connect: quando algo dá errado, o sistema não exclui um arquivo chamado maintenance.flag, que é criado na raiz da loja quando o Magento Connect está trabalhando. A presença desse arquivo impede que sua loja funcione, mas a solução é simples: basta excluir ou renomear esse arquivo, que sua loja voltará ao normal.

1.7 Catálogo de produtos Uma loja virtual pode ter um visual muito bonito e agradável, bem construído e que atenda a todos os parâmetros de usabilidade. Ela pode também estar hospedada em um servidor com alta capacidade, que sirva páginas completas aos visitantes em milésimos de segundos, ou contar com uma base de clientes respeitável, na casa de milhares de clientes cadastrados. Ainda assim, essa loja não será nada se ela não contar com um bom catálogo de produtos. Ainda que cada um dos elementos seja importante na construção do todo, uma loja sem um catálogo de produtos não é nada. Os produtos são a razão de ser de uma loja e seu ponto vital; sem um bom catálogo, o restante é supérfluo. A construção do catálogo de produtos não faz parte deste livro, mas ainda assim vale a pena entender ao menos de forma superficial como um catálogo de produtos é pensado e quais são seus elementos. Um catálogo de produtos é composto de quatro elementos. São esses elementos que o definem, desde os atributos de um produto até como eles serão organizados. É importante lembrar que os elementos de um catálogo de produtos não devem refletir a forma como o gestor da loja deve


Capítulo 1 ■ Magento Commerce

29

se organizar, mas sim o modo como o cliente ou visitante navega em sua loja virtual. Estes elementos são: • Atributos – conjunto de características que descrevem um produto, os atributos são utilizados para organizar os produtos de modo que eles possam ser facilmente catalogados, separados a partir de suas funcionalidades. • Jogos de atributos – descrevem um tipo de produto específico, a partir dos atributos que o compõem; um jogo de atributos é uma reunião de atributos que permite que diferentes itens de um mesmo tipo de produto possam ser apresentados a partir do mesmo grupo de características. • Produtos – é aquilo que se vende, são os itens expostos em sua loja virtual e oferecidos aos seus visitantes, criados a partir dos jogos de atributos e descritos a partir de seus atributos. • Categorias – direcionadas para os visitantes, as categorias permitem que os produtos sejam separados e organizados conforme seus usos ou suas características ou ainda catalogados conforme histórias de consumo. Podem ser de três níveis: departamentos, categorias e subcategorias. O catálogo de produtos é uma atribuição do lojista e deve ser pensado antes mesmo da definição do design, pois, se não se sabe o que se vai vender, não se pode saber como se vai vender. Determinados catálogos de produtos e certos grupos de clientes pedirão arranjos diferentes no design – e, portanto, no tema – para que eles sejam mais bem apresentados e que tenham maior chance de vendas. Entretanto, de um modo geral, os elementos do catálogo apresentados no tema padrão do Magento atenderão à maioria das lojas virtuais, com pequenas modificações.


Temas em Magento

30

1.8 Sumário Neste primeiro capítulo, você viu como o Magento foi pensado, lá em 2007, e por que ele foi lançado como open source, permitindo seu download gratuito e sua utilização sem custos de licença. Também viu que, na maioria das vezes, você desenvolverá temas para lojas que utilizam a versão livre, a Community Edition, apesar de o Magento também oferecer uma versão paga, a Enterprise Edition, cujo princípio de funcionamento dos temas é exatamente o mesmo. Também falamos um pouco da instalação do Magento, de sua modularidade e de seu catálogo de produtos. Essa introdução é importante para que você possa relembrar esses conceitos e tenha uma visão ampla de quais são os objetivos de uma loja virtual e como eles vão refletir nos tópicos dos capítulos a seguir: o desenvolvimento de um tema para Magento.

1.9 Testes 1. Quando o Magento começou a ser desenvolvido, quais eram as principais dúvidas de seus criadores? 2. Quais são as duas versões disponíveis do Magento? Quais as principais diferenças entre elas? 3. Quais são os elementos que compõem um catálogo de produtos? Explique cada um deles. 4. Explique o conceito de modularidade dentro do Magento. 5. Quais são as vantagens que o Magento oferece no que diz respeito aos temas?


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.