En este tutorial vamos a ver como mostrar un mensaje para incentivar la compra cuando quede la última unidad disponible en el detalle del producto:
HTML
1. Lo primero que vamos a hacer, es agregar el siguiente código en el snipplet llamado product-quantity.tpl dentro de la carpeta snipplets/product:
{# Product quantity #} {% if not quickshop %} <div class="row"> <div class="col col-md-4"> {% endif %} {% embed "snipplets/forms/form-input.tpl" with{type_number: true, input_value: '1', input_name: 'quantity' ~ item.id, input_custom_class: 'js-quantity-input text-center', input_label: false, input_append_content: true, input_group_custom_class: 'js-quantity form-row align-items-center', form_control_container_custom_class: 'col-6', input_min: '1', input_aria_label: 'Cambiar cantidad' | translate } %} {% block input_prepend_content %} <span class="js-quantity-down col-3 text-center"> {% include "snipplets/svg/minus.tpl" with {svg_custom_class: "icon-inline icon-w-12 icon-lg svg-icon-text"} %} </span> {% endblock input_prepend_content %} {% block input_append_content %} <span class="js-quantity-up col-3 text-center"> {% include "snipplets/svg/plus.tpl" with {svg_custom_class: "icon-inline icon-w-12 icon-lg svg-icon-text"} %} </span> {% endblock input_append_content %} {% endembed %} {% if not quickshop %} </div> {% if settings.last_product %} <div class="{% if product.variations %}js-last-product {% endif %}col-12 col-md-8 text-center text-md-left"{% if product.selected_or_first_available_variant.stock != 1 %} style="display: none;"{% endif %}> <div class="h6 text-accent font-weight-bold my-md-2 mb-4"> {{ settings.last_product_text }} </div> </div> {% endif %} </div> {% endif %}
CSS
Requisito:
Tener agregados en tu diseño las clases helpers. Podés seguir este este pequeño tutorial para hacerlo (simplemente es copiar y pegar algunas clases, no toma más de 1 minuto).
1.Agregamos el siguiente SASS de colores en style-colors.scss.tpl (o la hoja de tu diseño que tenga los colores y tipografías de la tienda). Recordá que las variables de colores pueden variar respecto a tu diseño:
{# /* // Texts */ #} .text-accent { color: $accent-color; }
JS
⚠️ A partir del día 30 de enero de 2023, la librería jQuery será removida del código de nuestras tiendas, por lo tanto la función "$" no podrá ser utilizada.
El JavaScript necesitamos agregarlo en el archivo store.js.tpl (o donde tengas tus funciones de JS). Esto va a permitir que al cambiar de variante se muestre o no el mensaje de acuerdo al stock. Vamos a buscar “function changeVariant(variant){“ y antes de que cierre la llave agregamos el siguiente código:
function changeVariant(variant){ [...] {% if template == 'product' %} {% if settings.last_product and product.variations %} if(variant.stock == 1) { jQueryNuvem('.js-last-product').show(); } else { jQueryNuvem('.js-last-product').hide(); } {% endif %} {% endif %} }
Configuraciones
En el archivo config/settings.txt vamos a agregar el checkbox que activa la funcionalidad dentro de la sección “Detalle de producto”.
title title = Último producto en stock checkbox name = last_product description = Mostrar un mensaje para incentivar la compra cuando quede la última unidad de un producto i18n_input description = Mensaje name = last_product_text
Traducciones
En este paso agregamos los textos para las traducciones en el archivo config/translations.txt
es "Último producto en stock" pt "Último produto em estoque" en "Last product in stcok" es_mx "Último producto en stock" es "Mostrar un mensaje para incentivar la compra cuando quede la última unidad de un producto" pt "Mostrar uma mensagem para incentivar a compra quando fique a última unidade de um produto" en "Show a message to encourage the purchase when remain the last unit of a product" es_mx "Mostrar un mensaje para incentivar la compra cuando quede la última unidad de un producto"
Dentro de config/defaults.txt vamos a agregar los textos predeterminados del mensaje.
last_product = 1 last_product_text_es = ¡No te lo pierdas, es el último! last_product_text_en = Don´t miss it, it´s the last one! last_product_text_pt = Atenção, última peça!
Activación
Por último podés activar la funcionalidad desde el Administrador nube, en la sección de Personalizar tu diseño actual dentro del Detalle de producto:
Recordá que para que se vea el mensaje el producto tiene que ser el último en stock.