Que tal conhecer um pouco mais sobre a estrutura do Opencart?
Bom dia pessoal, nessa minha volta ao blog ainda estou definindo a agenda de posts e quais serão os temas de cada dia, hoje neste post sobre como funciona a estrutura do Opencart vou inaugurar uma série que pretendo fazer todas as terças falando sobre o desenvolvimento na prática (mãos a obra), sempre com exemplos práticos de código para implementações do dia a dia.
Algum tempo atrás já disse aqui por que virei fã do Opencart, e quase 2 anos após o meu start com a ferramenta quero poder passar para você um pouco que aprendi sobre ela.
A estrutura do Opencart.
O sistema foi criado utilizando a abordagem clássica do MVC com a separação bem definida de entre Models, Views e Controls além de uma outra unidade que é o Language, que como o nome auto-explicativo diz é responsável pelo sistema de tradução do Opencart.
As urls do Opencart
Para entendermos o Opencart, como qualquer ferramenta parte fundamental se dá ao entender como suas urls são construídas, veja o exemplo abaixo:
loja.com.br/index.php?route=product/category&path=59
Trata-se da página de exibição de categorias, onde a rota nos indica qual controller esta sendo carregado, neste caso o controller category que é armazenado na pasta product e o parametro path contém o id da categoria que esta sendo visualizada.
Dois mundos distintos
Um dos conceitos mais controversos da plataforma é a separação quase que total entre o admin e o front do sistema ambos tem sua própria estrutura MVC nas pastas Admin e Catalog respectivamente qual praticamente nenhum aproveitamento de código entre as estruturas, ou seja temos um método para buscar detalhes do produto em cada uma das estruturas por exemplo, um belo desperdício de energia…
Entendendo o código do Opencart
Veja o exemplo abaixo retirado do controller existente no exemplo de url que foi colocado acima.
Temos aqui a criação do controler de categorias e a criação de seu primeiro método, após essa etapa são carregados os arquivos de linguagem seguindo a mesma abordagem de pasta/nome do arquivo assim comosão carregadas 3 models em sequência que sernao utilizadas durante o método.
Veja mais um exemplo de trecho mesmo arquivo:
Aqui temos na primeira linha a busca sobre os detalhes da categoria, através da chamada getCategory realizada para a model de foi carregada no trecho anterior, e você pode perceber o padrão de chamada das models que sempre será: $this->model_pasta_arquivo->nomeDoMetodo(parametros)
Na sequência temos as chamadas de métodos do template para atribuição de valores como titulo e descrição da página, nas próximas linhas temos a atribuição ao array data, este por sua vez é responsável por armazenar os dados que estarão disponíveis no template sob esses mesmos nomes.
É isso pessoal espero que essa pequena introdução possa facilitar o seu entendimento sobre a plataforma Opencart, na terça que vem seguindo a série sobre o desenvolvimento com a mão na massa vou continuar detalhando o funcionamento do Opencart desta vez falando um pouco sobre a estrutura de dados da ferramenta, quer aproveitar e ler um pouco sobre usabilidade? Começe por aqui
Lembrando que para estes posts estão utilizando a versão 1.5.1 da ferramenta.
Dúvidas? Sugestões? Fique a vontade para comentar, até a próxima.