Tudo bom? Hoje é dia de colocar a mão na massa e falar de código. Já expliquei aqui como funciona a estrutura e a modelagem de dados da plataforma, e também expliquei a importância do VQmod na manutenção da integridade da plataforma. Hoje vou falar sobre como construir um módulo simples para a plataforma de comércio eletrônico Opencart.
O que nosso módulo vai fazer?
Para evitar uma maior complexidade neste artigo, o plugin terá como função criar um box com um formulário em nossa loja que receberá dois campos para nome e e-mail de usuários interessados em receber newsletter da loja, basicamente um plugin para captação de base .
Onde o modulo será exibido na loja?
Como utilizaremos o modelo padrão de plugins do sistema, o módulo poderá ser exibido em qualquer template do sistema e na localização definida na configuração do módulo, como você pode visualizar na imagem abaixo:
Módulo para sua loja Opencart
Criando a interface administrativa do módulo
O primeiro passo para a criação do módulo é disponibilizá-lo na área administrativa da loja. Para isso, você deve criar os seguintes arquivos, nos caminhos indicados:
/admin/controller/module/rfnewsletter.php
Arquivo responsável pelo controle das ações do módulo na interface administrativa do módulo, ou seja, é o responsável por tudo que ocorre no admin, ativação do módulo, visualização de dados e exportação da base de cadastrados.
/admin/view/template/module/rfnewsletter.tpl
Arquivo responsável pelo template da área de ativação e localização do módulo da frente de loja.
/admin/view/template/module/rfnewsletter_data.tpl
Arquivo responsável pelo template de exibição dos dados dos usuários cadastrados no módulo.
/language/portuguese-br/module/rfnewsletter.php
Arquivo responsável pelas informações de idioma do módulo.
Após esse primeiro passo, você deve criar a tabela no banco de dados que será responsável pelo armazenamento dos dados, para criar a tabela que utilize a query abaixo:
[sql]
CREATE TABLE `rfnewsletter` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)
[/sql]
Se você seguiu todos os passos corretamente, o módulo deve estar disponível para instalação no menu extensões > módulos do seu Opencart, mas você deve estar se perguntando: Ué, mas o que eu coloco nos arquivos? Como é muita coisa para descrever aqui no artigo, você pode baixar o plugin pronto e em funcionamento no site do Opencart, onde coloquei o módulo.
Depois de baixar o zip que coloquei com os arquivos, você deve ter disponível sua tela de módulos, que é acessada através do menu: extensões > módulos com o nome “Newsletter para visitantes”. Ao encontrar essa opção, clique em instalar e depois em editar. Na tela seguinte, vamos instalar o módulo nas páginas desejadas, sempre seguindo estes passos:
- Clique em adicionar módulo
- Selecione o layout que vai receber o modulo (Home por exemplo)
- Posição (Topo/Rodapé)
- Mantenha a opção habilitado
- Clique em salvar
Módulo Opencart
Feito isso, o módulo estará ativado no sistema. Para que tudo funcione de acordo com o esperado e o box seja exibido no site, copie os arquivos da pasta Catalog dentre das pastas dentro seu sistema, você irá encontrar os arquivos de Model / View / Control e idioma.
Uma vez instalado, os usuários poderão cadastrar nome e e-mail para receber notificações do site. Por fim, você pode visualizar e exportar a base de usuários cadastrados no sistema; para isso, clique no botão Dados e você será direcionado a tela abaixo:
Exportar dados
Agora, vamos falar um pouco sobre os arquivos da pasta catalog do módulo – eles são simples e objetivos:
MODEL (Model/module/rfnewsletter.php)
Apenas uma inserção responsável por armazenar os dados no banco.
[php]
class ModelModuleRfnewsletter extends Model {
public function save($name,$email) {
$this->db->query("INSERT INTO `rfnewsletter` (`id`, `name`, `email`) VALUES (null, ‘$name’, ‘$email’);");
}
}
[/php]
Controller (Controller/module/rfnewsletter.php)
São apenas dois métodos uma para exibição do módulo e outro para que os dados possam ser salvos no sistema.
Pronto, seguindo estes passos você criou o módulo simples para cadastro e exportação de e-mail e nome de usuários. Para baixar o módulo completo, e só acessar este link. Se tiver dúvidas ou sugestões, coloque nos comentários.