Compatibilidade: compatível com qualquer tema GRATUITO do Shopify 2.0
Se você tiver um tema diferente do Shopify e gostaria de adicionar a função do botão de pré-encomenda, entre em contato conosco para obter uma cotação de preço.
Maximize o potencial do seu comércio eletrônico com o poder das encomendas no Shopify. Esta postagem analisa a adição de um botão de pré-encomenda aos temas gratuitos do Shopify 2.0, essencial para acompanhar a demanda do cliente e otimizar o gerenciamento de estoque.
No mundo acelerado do comércio eletrónico, manter-se à frente da procura é fundamental. Para proprietários de lojas do Shopify, adicionar um botão de pré-encomenda pode mudar o jogo, especialmente ao gerenciar o estoque de itens populares. Esta postagem do blog irá guiá-lo na adição de um botão de pré-encomenda aos temas gratuitos do Shopify 2.0, garantindo que seus clientes sempre possam obter o que desejam, mesmo antes de voltar ao estoque.
Compreendendo a função de pré-encomenda: A pré-encomenda permite que os clientes comprem produtos que não estão em estoque no momento. Esta função é particularmente útil para itens de alta demanda ou para lançamento de novos produtos. Porém, é importante observar que esse recurso altera o texto do botão para “Pré-encomenda” apenas se a quantidade da variante do produto for zero. Se uma variante tiver quantidade maior que zero, o botão não exibirá a opção de encomenda.
Adicionando uma nota de pré-encomenda: para garantir que seus clientes estejam totalmente informados, você pode adicionar uma nota de pré-encomenda. Esta nota esclarecerá aos clientes que eles estão comprando um produto que não está disponível no momento, mas que será enviado posteriormente.
Por que adicionar um botão de pré-pedido no Shopify?
- Gerencie o estoque com eficiência : permite avaliar a demanda por itens fora de estoque.
- Aumente as vendas : capture vendas mesmo quando os itens não estiverem imediatamente disponíveis.
- Melhore a experiência do cliente : mantenha seus clientes envolvidos e informados sobre a disponibilidade do produto.
Antes de editar o código:
Na página Admin, vá para Produtos e selecione o produto que deseja pré-encomendar. Certifique-se de ter as opções " Rastrear quantidade" e "Continuar vendendo quando estiver fora de estoque" marcadas no produto que deseja encomendar.

O que você está comprando:
- Mude o botão para o texto que você quiser
- Adicione uma nota de encomenda com posicionamento dinâmico na página do seu produto
- Use um metacampo para que a nota de encomenda seja dinâmica
- SÓ funciona na página do produto
O que torna nosso código melhor:
- Não usamos bibliotecas externas, com isso dito, nosso código não terá nenhum efeito mínimo no desempenho de velocidade do seu site
- Não deixamos nem adicionamos códigos para anunciar em nosso site
- Nosso código é compatível com dispositivos móveis
Quaisquer problemas relacionados ao código serão corrigidos sem custo adicional, excluindo solicitações de customização de código. Basta entrar em contato conosco em "Converse conosco". Estamos a apenas um botão de distância.
Para iniciar:
1. Acesse o Editor de Código clicando em Loja online > Temas > Ações > Editar código.
2. Abra main-product.liquid na pasta Section. Se você tiver a versão mais recente do Shopify 2.0. Você precisa ir para a pasta Snippet e abrir buy-button.liquid.
{%- form 'product', product, id: product_form_id, class: 'form', novalidate: 'novalidate', data-type: 'add-to-cart-form' -%} e o {% endform %. Replace the code with the code below.
{ % -formulário 'produto' , produtos , id : product_form_id , classe : 'forma' , novalidate : 'novalidate' , dados - tipo : 'formulário de adição ao carrinho' -% } < input type = "hidden" name = "id" value = " {{ product.selected_or_first_available_variant.id }} " desativado > < div class = "variant_available_select oculto" > < select id = "Variantes- {{ section.id }} " class = "select__select" form = " {{ product_form_id }} " > { %- para variante no produto. variantes -% } < opção dados - disponíveis - variante = " {{ variant.id }} " valor = " {{ variant.id }} " dados - pré-encomenda - btn = " {{block.settings.preorder_btn}} " dados - disponíveis = " {{ variant.available }} " dados - pré-pedido = " {% if variant.available and variant.inventory_quantity <= 0 %} verdadeiro {% else %} falso {% endif %} " > { { - variante. quantidade_inventário - } } </ opção > { %- fim para -% } </ selecione > </div> _ _ < div class = "produto-form__buttons" > < botão tipo = "enviar" nome = "adicionar" class = "product-form__submit button button - largura total {% if block.settings.show_dynamic_checkout and product.selling_plan_groups == empty %} botão - secundário {% else %} botão - primário {% endif %} " { % se produto. selecionado_ou_primeira_variável_disponível . disponível == falso % } desabilitado { % fim se % } > < intervalo > { %- se produto. selecionado_ou_primeira_variável_disponível . disponível -% } { %- se produto. selecionado_ou_primeira_variável_disponível . quantidade_inventário > 0 -% } { { 'produtos.produto.add_to_cart' | } } { %- outro % } { { bloquear. configurações . pré-pedido_btn } } { %- fim se -% } { %- outro -% } { { 'produtos.produto.sold_out' | } } { %- fim se -% } </span> _ < div class = "loading-overlay__spinner loading__spinner oculto" > < svg aria - oculto = "verdadeiro" focalizável = "falso" role = "apresentação" classe = "girador" viewBox = "0 0 66 66" xmlns = "http://www.w3.org/2000/svg" > < círculo classe = "caminho" preenchimento = "nenhum" traço - largura = "6" cx = "33" cy = "33" r = "30" </ círculo > </svg> _ </div> _ _ </ botão > { % -se bloco. configurações . show_dynamic_checkout -% } { { formulário | botão_pagamento } } { %- fim se -% } </div> _ _ { %- formulário final -% } |
4. Em seu arquivo main-product.liquid na pasta Section, encontre o código " {%- when 'buy_buttons' -%} " e cole o código abaixo antes dele.
{ % quando 'preorder_note' % } < div class = "mensagem de pré-pedido {% if product.selected_or_first_available_variant.inventory_quantity <= 0 and product.selected_or_first_available_variant.available %} show_note {% endif %} " > { { bloquear. configurações . pedido antecipado } } </div> _ _ <estilo> _ . pré-encomenda - mensagem { Mostrar nenhum ; } . mostrar_nota { exibição : bloquear ! importante ; } </ estilo > |
5. Ainda no main-product.liquid, na seção esquema, abaixo do " type": "buy_buttons", você verá o "type": "checkbox", após o colchete de fechamento coloque o código abaixo. Veja o vídeo para mais informações
| ,{ "tipo": "texto", "id": "preorder_btn", "label": "Etiqueta do botão de pré-encomenda", "default": "Pré-encomende agora" } ] }, { "type": "preorder_note", "nome": "nota de pré-encomenda", "configurações": [ { "tipo": "texto rico", "id": "pré-encomenda", "default": "<p>Aguarde de 5 a 7 dias para enviar o item.</p>", "label": "Nota de pré-encomenda" } |
6. Vá para a pasta Asset, abra o arquivo global.js e encontre o código "toggleAddButton", substitua o código toggleAddButton pelo código abaixo.
toggleAddButton ( e = verdadeiro , t , r = verdadeiro ) { const o = documento. getElementById ( ` product - form - $ { this.dataset.section } ` ) ; se ( ! o ) retornar ; const n = o. querySelector ( '[nome="adicionar"]' ) ; const s = o. querySelector ( '[nome="adicionar"] > span' ) ; const a = o. querySelector ( ` [ dados - disponíveis - variante = "${this.currentVariant.id}" ] ` ) ; se ( ! n ) retornar ; se ( e ) { n. setAttribute ( "desativado" , "desativado" ) ; se ( t ) s. conteúdotexto = t ; } outro { n. removeAttribute ( "desativado" ) ; S. textContent = janela. varianteStrings . adicionar ao carrinho ; } if ( a. conjunto de dados . preorder == "true" ) { S. textContent = a. conjunto de dados . pré-encomendaBtn ; if ( document.querySelector ( ".preorder-message" ) ) { documento. querySelector ( ".preorder-message" ) . lista de classes . adicionar ( "show_note" ) ; } if ( o. querySelector ( ".shopify-payment-button" ) ) { ó. querySelector ( ".shopify-botão de pagamento" ) . lista de classes . adicionar ( "oculto" ) ; } } outro { if ( document.querySelector ( ".preorder-message" ) ) { documento. querySelector ( ".preorder-message" ) . lista de classes . remover ( "show_note" ) ; } if ( o. querySelector ( ".shopify-payment-button" ) ) { ó. querySelector ( ".shopify-botão de pagamento" ) . lista de classes . remover ( "oculto" ) ; } } se ( ! r ) retornar ; } |
É isso (",)
8 comentários
Hi @Ismail,
Thank you for reaching out. Yes, it works on the Dawn Theme version 15.2.0. Let us know if you’re having any trouble.
Hello, I wanted to ask if this code works on Dawn Theme version 15.2.0!
If so, please let me know!
Thanks,
Ismail
Hi @Naomi
Thank you for reaching out to us via inbox. Let us know if you encounter any further problems. Thanks!
Hello, I bought your preorder tutorial, it’s working well. I would like to know if it’s possible to hide the "buy now " button when the preorder button is showing. Thank you for your help.
Hi @VERONIKA,
It will be a different file under the Snippet folder. If you are having issues. Please don’t hesitate to reach us using “Chat with Us”
Hi, just have bought this. I have a problem with the " {%- when ‘buy_buttons’ -%}" it is not in my main-product.liquid.
Do you think you can help me?
Thank you.
Veronika
Hi @AD,
You probably had error on pasting. Please contact me using “Chat with us”
Hiya, it says “Invalid JSON in tag ‘schema’” after pasting the schema bit, please help!