Por padrão a informação de preço (info-preço) é atualizado a cada 30 minutos, sendo o tempo do cache da view da página.

Se o lojista alterar o preço de um produto, será apresentado em seu layout no máximo daqui 30 minutos.

Para diminuir esse tempo, nossa equipe de tecnologia desenvolveu uma nova forma de apresentação do info-preço, sendo atualizado o preço em no máximo 5 minutos.

Esse tempo poderá diminuir em datas comemorativas, exemplo; BlackFriday.
 
Observação: O Tempo de cache da página continua 30 minutos, o que foi alterado é somente o cache do info preço

unnamed.png

Como é o Funcionamento

Na página de catalogo, busca, home e produto temos um Ajax que realiza o "replace" de uma div pré definida e assim atualiza o preço e o info preço mesmo que a página esteja cacheada.

Como implementar

Em seu layout no bloco de preço e info preço, deverá ser chamado uma DIV da seguinte forma:
 <div data-module="pricing" data-snippet="snippets/nocacheprice" data-product-id="{{ product.id }}">
       carregando...
 </div>

Veja que contém 4 campos na div acima:

  1. data-module="pricing" : Este campo deverá ser assim, onde seria utilizado pelo Ajax.
  2. data-product-id="{{ product.id}} : Este campo deverá ser assim, onde seria utilizado pelo Ajax. 
  3. data-snippet="snippets/nocacheprice: Este campo deverá ser preenchido com o nome do seu snippet que contém o bloco de info_preço e preço. Poderá ser qualquer nome neste parametro. Tudo que estiver dentro do snippet será recarregado via Ajax.
  4. Palavra Carregando: Poderá ser uma palavra, uma imagem ou qualquer outro elemento. Sendo apresentado até o momento que o Ajax acabe de carregar.
 
 
Na prática
 
Crie em seu layout uma snippet "preco_tempo_menor" e insira as informações de preço, exemplo:
 
                {% if settings.store_main_price_boleto %}
                    <div id="preco">
                        <div id="produto_preco">
                            {% if product.price_offer > 0 %}
                                <div class="precode" id="precoDe">
                                   {{ settings.currency }} {{ product.price|currency }}
                                </div>
                            {% endif %}
                            <span class="PrecoPrincipal price-payment">{{ product.payment }}</span>
                            <div id="info_preco">{{ product.payment }}</div>
                        </div>
                    </div>
                {% else %}
                    {{ productHelper.pricing() }}
                {% endif %}
 
Na página de product.html realizamos a chamada:
 
    <div data-module="pricing" data-snippet="snippets/preco_tempo_menor" data-product-id="{{ product.id }}">
        aguarde, carregando preço...
    </div>

 Essa funcionalidade está disponível para todas as lojas, basta implementar via OpenCode.

 
Frontend - Agencia 
Tem mais dúvidas? Envie uma solicitação

Comentários

    Artigos nessa seção

    Powered by Zendesk