Adicionar um seletor de data de entrega ao carrinho
É possível incluir um calendário na página do carrinho para que os clientes especifiquem a data de entrega do pedido.
Incluir jQuery no theme.liquid
Para que a personalização funcione, alguns temas exigem a inclusão de uma tag de script para jQuery no arquivo theme.liquid layout. Se você usa Boundless, Debut versão 17.2.0 ou mais recente, Express, Narrative ou Venture, talvez seja necessário seguir a próxima etapa:
No diretório Layout, clique em
theme.liquid
.Encontre a tag de fechamento
</head>
no código. Em uma nova linha acima da tag de fechamento</head>
, cole o seguinte código:
{{ '//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js' | script_tag }}
- Clique em Salvar.
Criar um snippet de data de entrega
Para criar um snippet para o seletor de data de entrega:
No admin da Shopify, acesse Loja virtual > Temas.
Encontre o tema que deseja editar, clique no botão ... para abrir o menu de ações e depois em Editar código.
No app da Shopify, toque em Loja.
Na seção Canais de vendas, toque em Loja virtual.
Toque em Gerenciar temas.
Encontre o tema que deseja editar, clique no botão ... para abrir o menu de ações e depois em Editar código.
No app da Shopify, toque em Loja.
Na seção Canais de vendas, toque em Loja virtual.
Toque em Gerenciar temas.
Encontre o tema que deseja editar, clique no botão ... para abrir o menu de ações e depois em Editar código.
No diretório Snippets, clique em Adicionar um novo snippet:
Crie o snippet:
No novo snippet
delivery-date.liquid
, cole este código:
{{ '//code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css' | stylesheet_tag }}
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js" defer="defer"></script>
<div style="width:300px; clear:both;">
<p>
<label for="date">Pick a delivery date:</label>
<input id="date" type="text" name="attributes[date]" value="{{ cart.attributes.date }}" />
<span style="display:block" class="instructions"> We do not deliver during the week-end.</span>
</p>
</div>
<script>
window.onload = function() {
if (window.jQuery) {
let $ = window.jQuery;
$(function() {
$("#date").datepicker({
minDate: +1,
maxDate: '+2M',
beforeShowDay: $.datepicker.noWeekends
});
});
}
}
</script>
- Clique em Salvar.
Incluir o snippet na página do carrinho
Para incluir o snippet de data de entrega na página do carrinho:
No diretório Seções, clique em
cart-template.liquid
. Se o tema não incluir esse arquivo, clique emcart.liquid
no diretório Modelos.Encontre a tag de fechamento
</form>
no código. Em uma nova linha acima da tag de fechamento</form>
, cole o seguinte código:
{% render 'delivery-date' %}
- Clique em Salvar.
O campo de entrada para a data de entrega está disponível na página do carrinho. Quando você clica dentro do campo de texto, é exibido um calendário:
O seletor de datas usado nesta personalização é um widget da biblioteca de interface do usuário jQuery. Este post do blog explica como desabilitar datas específicas no calendário do seletor.