OpenCart para Webdesigners – O Básico.
A mudança da versão 0 para a versão 1 do sistema OpenCart foi mais profunda do que mostra a primeira vista. Não somente as funcionalidades, o painel administrativo e a interface da loja padrão, todo o sistema sofreu uma reformulação de Base muito grande. Saber dessas mudanças e como funciona o Core do OpenCart é necessário para entender porque os plugins desenvolvidos para a versão Zero, simplesmente não funciona na nova e versão, e o que fazer para alterar e criar novos plugins.
Um Design mais Inteligente.
Seguindo uma tendência de vários projetos e frameworks, o OpenCart 1 foi desenvolvido sobre um novo padrão de arquitetura de projetos chamado MVC.
Se você usa algum framework de desenvolvimento em PHP (ou outras linguagens) como o CakePHP, você vai se sentir em casa. OpenCart 1 é totalmente Orientado a Objetos e feito inteiramente em MVC.
Se você não entende de programacão, saber algumas coisas de MVC pode ser importantes. E é para você que eu vou tentar explicar. Um papo de designer (com um pouco de conhecimento em programação) para designer.
MVC é uma sigla que significa Model-View-Controller. Ele é uma arquitetura que tenta deixar tudo em seu devido lugar, o que facilita a programação, a escalabilidade e a robustez de uma plataforma.
O Model é a parte do código que vai cuidar da comunicação da plataforma com o banco de dados. Isso pode parecer pouca coisa, mas é de vital importância para todo o sistema. Ele vai criar modelos que serão utilizados pelo Controlador, evitando que o sistema tenha que fazer requisições desnecessárias ao banco de dados e economizando muitas (mas muitas mesmo) linhas de código.
O Controller é a parte da plataforma que vai ser responsável por toda a operação lógica do sistema. Dentro dele é que toda a coisa acontece mesmo, onde as variáveis e funções vão ser desenvolvidas. Se você é designer, não se preocupe com esta área, ela não foi feita para você.
A View concentra todos os templates e layouts que dão forma a tudo o que o modelo e controlador fizeram. É nessa parte que você designer deve se concentrar. Aqui é onde fica tudo referente a visão da loja: layouts htmls, folhas de estilo css, javascript, imagens.
Editando Templates
Agora vamos ao que importa para você webdesigner: Os templates. Para criar um template no OpenCart é muito simples: Você deve se concentrar na pasta View do área do Catalog. Nessa view você tem duas pastas: Javascript e Theme. A pasta Javascript é claro, serve para colocar scripts Js. Por padrão você vai ter alí a última versão do script do Jquery (baseado na versão do OpenCart que você estiver usando).
A pasta Theme, irá ficar os templates de sua loja. Para criar um novo template é simples: Copie e cole a pasta default, e altere o nome da pasta para o nome do template que você irá criar. Agora, você deve ir até o painel de controle, em Admin->Configurações->Setting e no campo template, altere a template. Salve e voi lá. Sua template estará funcionando.
Feito isso, comece a trabalhar. Uma pasta de template tem 3 pasta: Image, Stylesheet e Templates. Todas as imagens que você usar em seu template (e não as imagens dos produtos, veja bem) você coloca na pasta image. Folhas de Estilo CSS estarão em Stylesheet e os templates estarãos os arquivos de layout que você deverá alterar.
Esta pasta templates está dividida em várias subpastas e não vai ser díficil descobrir para o que cada uma serve. Dentro delas há arquivos .tpl, não se assuste, em sua essência são arquivos html.
O arquivo central, o tronco chave do seu sistema será o arquivo layout.tpl. Alí você terá a estrutura HTML em sí. Este arquivo irá chamar outros arquivos por linhas como essa:
Em todos os arquivos que você encontrar, você verá linhas como essa. A linha acima está chamando o arquivo header.tpl e se você quiser alterar o topo de seu sistema você deve alterar este arquivo.
É por esta razão que o OpenCart é tão fácil e rápido de ser utilizado. Ele tem uma forma robusta de mostrar as informações e acelera muito a criação de templates.
Com o que você já sabe acima, vai ficar mais fácil de criar templates. Para terminar, só umas dicas:
1. Sempre que você precisar utilizar o caminho absoluto do site, utilize a URL: “catalog/view/themes/seutema”. Ainda não tem um código que complete a URL, e diferente do OpenCart Zero, você deve informar essa URL para incluir imagens, por exemplo.
2.
Isso é um código de repetição e tudo o que estiver dentro dele será repetido conforme a quantidade de dados que o código possuir. Cuidado com os codígos que possuir o comando IF. Ele é um comando condicional. Significa que algo pode ou não ser incluido. Cuidado com fechamento de divs, quando você vir este comando.
3. Você pode retirar a maioria destas váriaveis quando quiser. Por exemplo, se você não quiser dar opção de linguagem em sua loja, retire o comando:
do arquivo header.tpl. Isso vai fazer com que a opção de linguagem não apareça. Para inserir algum comando específico, você deverá alterar as configurações no Controlador. E isso é matéria para outro post.
Bom, espero que tenha ajudado alguma pessoa que estiver perdida no OpenCart. Você pode tirar suas dúvidas neste comentário ou melhor ainda, entrar em nossa lista de discussão do OpenCart Brasil.
12 Comentários para OpenCart para Webdesigners – O Básico.
Rogério Martins disse:
Olá, muito bom seu post, o open cart é pouco explorado… Creio que agora com essa mudança de versão acho que ele será bem mais visto!
Em 23 abril 2009 ás 12:24 pm
Welson Elias disse:
Vocês sabem me dizer por que a opencart não posta nem um comentário, não envia mala direta não envia notificação para o cliente o que será que é ?
Em 8 julho 2009 ás 10:49 am
Welson Elias disse:
Urgente, estou querendo e tentando dscobrir por que essa loja opencart v1.2.8 não recebe os e-mails que eu tento enviar nela naquele formulário fale concosco, outra coisa os e-mails de mala direta la no painel do admin também não funciona, as notificações que eu tento enviar para os clientes quando eu faço alteração no pedido do mesmo não chega no e-mail do cliente o que será que esta acontecendo ?
Ja fiz de tudo pra descobrir e nada até agora….!!!
Em 9 julho 2009 ás 10:58 am
Nilza disse:
Olá Diogo. gostaria de saber tem como eu por um calculo de frete dentro do carrinho de compras, pois seria legal se tivesse essa possibildade, pois o cliente ja veria o valor antes de ter que autenticar ao site. grata e aguardo anciosa uma resposta sua. Bjoka
Em 10 julho 2009 ás 2:15 pm
Diogo Costa disse:
Sim, você deve escolher qual sistema fará para isso. No Repositório Oficial do OpenCart, você encontra o sistema de Sedex e PAC. Ambos fazem o cálculo do frete e incluem o valor na compra.
Dê uma olhada:
http://www.opencart.com/index.php?route=contribution/contribution/category&category_id=4
Boa Sorte!
Em 13 julho 2009 ás 6:51 am
Welson Elias disse:
Pessoal encontrei o problema do erro que estava dando na loja pornão enviar os emails de fale conosco, notificações das compras e status quando o administrador alterava no Painel é o seguinte:
Vai no diretório system/library/
Abra o arquivo mail.php va até a linha 80:
$headers .= ‘Content-Type: multipart/mixed; boundary=”‘ . $boundary . ‘”‘ . $eol . $eol;
altere para:
$headers .= ‘Content-Type: multipart/mixed; boundary=”‘ . $boundary . ‘”‘ . $eol;
Em 13 julho 2009 ás 9:38 am
Nilza disse:
Olá querido Diogo,
Acho que vc nao entendeu o que eu quis dizer.
O que vc explicou eu ja ttenho td rodando.
O que eu digo é antes de o cliente ter que logar, em carrinho de compras, onde fica a lista dos produtos. ter um campo onde a pessoa poe manualmente o seu CPF e pede pra reclacular e ja sai o valor embaixo entende?
Se isso for possivel, seria otimo pros clientes, pois eles nao precisariam logar toda hora pra isso.
Aguardo!
Bjos
Em 15 julho 2009 ás 4:27 pm
Nilza disse:
Uma correção do meu texto!!
NAO É CPF E SIM CEP OK?
Olá querido Diogo,
Acho que vc nao entendeu o que eu quis dizer.
O que vc explicou eu ja ttenho td rodando.
O que eu digo é antes de o cliente ter que logar, em carrinho de compras, onde fica a lista dos produtos. ter um campo onde a pessoa poe manualmente o seu CPF e pede pra reclacular e ja sai o valor embaixo entende?
Se isso for possivel, seria otimo pros clientes, pois eles nao precisariam logar toda hora pra isso.
Aguardo!
Bjos
Em 15 julho 2009 ás 4:29 pm
Paulo Borges disse:
Diogo,
Sabes qual seria a MELHOR FORMA de só mostrar os preços dos produtos para usuários LOGADOS?
Sucesso!!!
jpbp
Em 1 agosto 2009 ás 10:11 pm
Jonathan [Cicinho] disse:
Olá
Gostaria de saber por que o meu Open Cart está com a interface desfigurada…
não tem designer nenhum, apenas uma página simples de HTML sem nenhuma dinamica.
E aainda, o servidor que está colocando no ar não tem esse problema, e está tudo normal….
Não é o browser nem o micro…. testei em varios
O que pode ser?
Em 9 fevereiro 2010 ás 11:33 am
Jonathan [Cicinho] disse:
Nova informação:
Também não posso clicar em nada que o firefox diz que não consegue se conectar com o servidor localhost…
Em 9 fevereiro 2010 ás 11:57 am
Diogo Costa disse:
@jonathan se o design não está aparecendo é pq não está carregando o css. Verifique as permissões de pastas, provavelmente todo o problema é isso. As permissões das pastas estão erradas.
Em 9 fevereiro 2010 ás 12:08 pm