Página 1 de 1

Newsletter no footer

Enviado: 29 Out 2018, 13:28
por pedromoreira91
Olá a todos,

Gostaria de inserir uma Newsletter no footer, sem a necessidade de extensões, só com código incorporado ao html, mas não tenho a noção de como é feita dentro do padrão MVC(L). A Newsletter que eu gostaria de fazer contém:
  • Uma imagem referente a uma carta aberta com um texto ao lado, na esquerda("Saiba mais", "assine a Newsletter", algo assim)(num asside de 50% de width ou um col-*-6);
  • Um formulário contendo nome, email e um submit button na direita(Preenchimento do mini cadastro)(outro aside de 50% de width ou col-*-6);
  • Uma confirmação simples de cadastro realizado(ex.: atualiza a página e aparece uma mensagem de sucesso).
Eu tentei copiar parte do código que está em account/newsletter.twig para o footer, mas não tive muito sucesso.

Re: Newsletter no footer

Enviado: 29 Out 2018, 13:45
por pedromoreira91
Encontrei uma sugestão no forum do Opencart.com, versão 1.5+:
https://forum.opencart.com/viewtopic.php?t=29759

Segue a citação:
In the controller of the footer add"
Código: Selecionar todos
$this->children[] ='module/nameofmodule';
"Them in tpl add
Código: Selecionar todos
<?php echo $nameofmodule; ?>
Essa sugestão é pra adicionar um módulo no footer, o que pode ser feito também, pois existem vários módulos interessantes. Só queria uma confirmação de que essa é a forma correta(adaptando de tpl para twig).

Re: Newsletter no footer

Enviado: 29 Out 2018, 19:10
por Manoel Vidal
Olá @pedromoreira91.

Importante: Edite os arquivos que vou mencionar com um editor como o Notepad++:
https://notepad-plus-plus.org/download/

Seguindo a linha de raciocínio, para exibir um módulo no rodapé do OpenCart versões 3, seria:

- No arquivo controller do rodapé:

catalog/controller/common/footer.php

Adicione a linha abaixo:
Código: Selecionar todos
$data['nome_do_modulo'] = $this->load->controller('extension/module/nome_do_arquivo');
Antes da linha:
Código: Selecionar todos
return $this->load->view('common/footer', $data);
No arquivo view do rodapé:
catalog/view/theme/PASTA_DO_TEMA/template/common/footer.twig

Adicione a linha abaixo onde você desejar:
Código: Selecionar todos
{{ nome_do_modulo  }}
Atualize o cache de modificações e do tema, e faça um teste.

Espero ter ajudado. :)

Re: Newsletter no footer

Enviado: 31 Out 2018, 11:01
por pedromoreira91
Olá, @Manoel Vidal ,
Antes de fazer o que você disse, tenho algumas considerações/perguntas:
- a linha
Código: Selecionar todos
$data['column_left'] = $this->load->controller('common/column_left');
Não existe no footer(você mencionou como se existissem colunas laterais no footer, é isso?);
- Observando o Controller newsletter.php padrão do Opencart, lá tem uma parte referente a estar logado ou não. Tem como fazer uma newsletter independentemente de estar logado?
- O que fazer caso existam vários módulos de uma mesma categoria de módulo (ex.: módulo 'banner_produtos_destaque' (da caterogia de módulos 'Banners')? Como acessar, por exemplo, o terceiro de cinco módulos 'banner' criados?

No mais, é isso. Não fiz ainda o teste porque encontrei algumas dúvidas, mas vou tentar. Obrigado pela disponibilidade, pela resposta!

Re: Newsletter no footer

Enviado: 31 Out 2018, 18:52
por Manoel Vidal
Já corrigi a instrução. :)

O OpenCart não tem módulo de newslleter, logo deve ser algum módulo que acompanha seu tema.