Pop-up de Newsletter

Como adicionar e gerenciar o componente Pop-up de Newsletter na sua loja.

O componente Pop-up de Newsletter é um recurso para inscrição de clientes para uma newsletter da loja. Com esse componente o cliente se inscreve para uma lista de contatos para receber informações e novidades da loja. Esse componente permite que o lojista configure como os contatos recebidos podem ser utilizados, como integrações com sistemas externos, para o envio de e-mails.

📘

Demonstração do componente

Visualize como é o componente acessando o Pop-up de Newsletter Demo. Recomendamos utilizar a versão mais atualizada do componente: (v5).

Implementação

Para habilitar o Pop-up de Newsletter você deve importar os arquivos JavaScript e CSS do componente no projeto. Como é um componente nativo, é possível que esses arquivos já estejam no seu template, pois é preciso incluí-los uma única vez. Confira a seguir todos os passos para habilitar e inserir o componente em uma página.

  1. Abra os arquivos do template da loja;
  2. Acesse liquids > partials > common > _popup_newsletter.liquid;
  3. Verifique se o arquivo contem códigos a seguir:
{% load_banners position: 'newsletter-popup' limit: 1 %} {% for banner in loaded_banners %} {% assign success_message = 'Obrigado!' %} {% assign popup_description = banner.description %} {% assign popup_extra_description = '' %} {% if banner.description contains '<hr/>' %} {% assign popup_description = banner.description | split: '<hr/>' | first %} {% assign success_message = banner.description | split: '<hr/>' | last | strip_html | strip %} {% endif %} {% assign description_content = popup_description | split: '</p>' %} {% assign popup_description = description_content[0] | strip_html | strip %} {% comment %} Descrição extra {% endcomment %} {% if description_content[1] and description_content[1] != blank %} {% assign popup_extra_description = description_content[1] | strip_html | strip %} {% endif %} {% assign image_url = '' %} {% if banner.file_url != blank %} {% assign image_url = banner.file_url | resize: '500x' %} {% endif %} <script> window.popupNewsletterSettings = { script: "{{ 'newsletter-popup.v5.js' | component_path }}", styles: "{{ 'newsletter-popup.v5.css' | component_path }}", imageUrl: '{{ image_url }}', title: '{{ banner.subtitle }}', description: '{{ popup_description }}', extraDescription: '{{ popup_extra_description }}', subdomain: '{{ current_shop.subdomain }}', success: '{{ success_message }}' } </script> <div id="component-popup-newsletter-root"></div> {% endfor %}
  1. Acesse assets > javascripts >components > vndaComponents.js;
  2. Verifique se o arquivo contém a seguinte função e configure-a de acordo com as suas necessidades:
export const NewsletterComponent = { root: document.querySelector('#component-popup-newsletter-root'), settings: window.popupNewsletterSettings || false, loaded: false, setPopupNewsletter: function () { const { settings, root } = NewsletterComponent; // Define propriedades do componente let maxWidth = settings.maxWidth; let imageUrl = settings.imageUrl; let title = settings.title; let description = settings.description; let extraDescription = settings.extraDescription; let subdomain = settings.subdomain; let successMessage = settings.success; // Inicia o componente const componentNewsletterPopup = new Vnda.Component.NewsletterPopup({ maxWidth: maxWidth, maxHeight: 500, imageUrl: imageUrl, imagePosition: 'left', popupPosition: 'center', title: title, description: description, extraDescription: extraDescription, textBtnSubmit: 'Enviar', classBtnSubmit: 'button-newsletter', formKey: `${subdomain}-newsletter`, hasNameField: false, hasLastNameField: false, hasDateOfBirthField: false, hasPhoneField: false, successMessage: successMessage, delay: 500, frequency: '7', language: 'pt-BR', placeholders: { // firstName: 'Nome', // lastName: 'Sobrenome', // phone: 'Telefone', email: 'Digite seu e-mail', }, }); // Renderiza o componente e marca como carregado componentNewsletterPopup.render(root); NewsletterComponent.loaded = true; }, loadPopupNewsletter: function () { if (!NewsletterComponent.loaded) { const { settings } = NewsletterComponent; addAsset(settings.script, NewsletterComponent.setPopupNewsletter); addAsset(settings.styles); } }, init: function () { const { root, settings } = this; if (!root || !settings) return; const eventType = window.innerWidth <= 1024 ? 'scroll' : 'mousemove'; window.addEventListener(eventType, () => { NewsletterComponent.loadPopupNewsletter(); }, { once: true }); }, };

Confira os parâmetros do componente para configurá-los como desejado.

Parâmetros do componente

Os parâmetros definem as características dos Pop-up de Newsletter. Veja na tabela abaixo os parâmetros e o que eles determinam no componente. Note que os parâmetros que possuem valores padrões estão sinalizados na coluna Default, e as opções de entrada que o parâmetro pode receber estão apresentados na coluna Tipos/Opções de entrada.

ParâmetroDescriçãoTipos/Opções de entradaDefaultObrigatório
maxWidthDefine a largura máxima do pop-up.--Não
maxHeightDefine altura máxima do pop-up.--Não
imageUrlURL da imagem do pop-up.--Não
imagePositionDefine a posição da imagem do pop-up, no caso de pop-up com imagem.left ou rightrightNão
popupPositionDefine a posição do pop-up na tela.center,
top,
bottom,
right,
left,
right top,
left top,
right bottom ou
left bottom
center,Não
titleDefine a label do título do pop-up.Do tipo string-Não
descriptionDefine o primeiro parágrafo para a descrição exibida no popupDo tipo string-Não
extraDescriptionDefine um segundo parágrafoDo tipo string-Não
textBtnSubmitDefine a label do botão do formulário do pop-up.Do tipo stringEnviarNão
formKeyVincula o componente ao formulário criado no Admin para newsletter. Preencha essa campo com o Key do Admin.--Sim
hasNameFieldHabilitar o campo para Nome/Name no formulário.left ou rightNão
hasLastNameFieldHabilitar o campo para Sobrenome/Last Name no formulário.left ou rightNão
hasDateOfBirthFieldHabilitar o campo Data de aniversário/Birthday no formulário.left ou rightNão
hasPhoneFieldHabilitar o campo Telefone/Phone no formulário.left ou rightNão
successMessageDefine a label (texto) de sucesso de envio do formulário.Do tipo stringObrigado!Não
classBtnSubmitDefine uma a classe extra para estilização do botão do formulário..btn
.btn-default
.btn-primary
.btn-success
.btn-info
.btn-warning
.btn-danger ou
.btn-link
Não
delayDefine o tempo (em milissegundos) para que o pop-up abra.Do tipo int500Não
frequencyDefine a frequência de abertura do pop-up para o usuárioonce
always
7
14
30
365
alwaysNão
languageDefine o idioma das labels padrões do formulário.pt-BR
en
pt-BRNão
placeholdersDefine os textos placeholders exibidos nos inputsfirstName: "texto desejado",

lastName: "texto desejado",

phone: "texto desejado",

email: "texto desejado",
Nome

Sobrenome

Telefone

E-mail
Não

🚧

O campo Email do formulário é habilitado por padrão no componente e sua propriedade não pode ser alterada.

Exemplo de implementação

Confira foi feita a implementação do componente de popup de newsletter no Template1 acessando os arquivos:


Did this page help you?