Exibir o estoque restante de uma variante nas páginas de produto
É possível adicionar uma mensagem na página do produto ou na seção de produtos em destaque que mostra o número de itens disponíveis quando o estoque de uma variante estiver baixo. Para essa mensagem ser exibida, habilite o acompanhamento de estoque do produto.
As etapas da personalização variam, dependendo do tema. Clique no botão de seu tema e siga as instruções.
Etapas para o Debut
Editar theme.liquid
- No seu admin da Shopify, vá para loja virtual > temas.
- Encontre o tema que você deseja editar e, depois, clique em Ações > Editar código.
- No diretório Layout, abra
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:
<script>
var variantStock = {};
</script>
- Clique em Salvar.
Edite product-template.liquid
ou featured-product.liquid
-
No diretório Seções, abra
product-template.liquid
oufeatured-product.liquid
:- Abra
product-template.liquid
para adicionar o recurso às páginas de produto. - Abra
featured-product.liquid
para adicionar o recurso à seção de produtos em destaque na página inicial.
- Abra
Encontre
{% form 'product'
. Acima dessa tag, adicione o seguinte código:
<div class="inventoryWrapper">
{% if current_variant.inventory_quantity > 0 and current_variant.inventory_management == 'shopify' %}
<p>Stock: {{ current_variant.inventory_quantity }}</p>
{% endif %}
</div>
The code above outputs `Stock: x`. You can change the wording by adjusting the content in the `<p>` tags. Make sure to include `{{ current_variant.inventory_quantity }}` in your `<p>` tags.
- Na parte inferior do arquivo, cole o seguinte código:
<script>
{% for variant in product.variants %}
variantStock[{{- variant.id -}}] = {{ variant.inventory_quantity }};
{% endfor %}
</script>
- Clique em Salvar.
Edite theme.js.liquid
ou theme.js
As alterações necessárias nesses arquivos dependem da versão do Debut que você está usando.
Versões 17.8.0 e anteriores
- Abra
theme.js.liquid
outheme.js
. -
Encontre
theme.Product = (function()
. Abaixo dethis.selectors = {
, adicione o seguinte código:
inventoryHtml: '.inventoryWrapper',
- No mesmo arquivo, encontre
_updateAddToCart: function(evt) {
. Imediatamente abaixo, adicione o seguinte código:
var inventoryWrapper = this.container.querySelector(this.selectors.inventoryHtml);
-
Encontre
if (variant.available) {
. Antes da instrução} else {
, adicione o seguinte código:
if (variantStock[variant.id] > 0 && variant.inventory_management == 'shopify' && inventoryWrapper !== null) {
const inventoryHtml = `<p>Stock: ${variantStock[variant.id]}</p>`;
inventoryWrapper.innerHTML = inventoryHtml;
} else {
inventoryWrapper.innerHTML = '';
}
The code above outputs `Stock: x`. You can change the wording by adjusting the content in the `<p>` tags. Make sure to include `${variantStock[variant.id]}` in your `<p>` tags.
- Clique em Salvar.
Versões 17.9.0 e posteriores
- Abra
theme.js.liquid
outheme.js
. -
Encontre
theme.Product = (function()
. Abaixo dethis.selectors = {
, adicione o seguinte código:
inventoryHtml: '.inventoryWrapper',
- No mesmo arquivo, encontre
_setProductState: function(evt) {
. Imediatamente abaixo, adicione o seguinte código:
var inventoryWrapper = this.container.querySelector(this.selectors.inventoryHtml);
- Na mesma função, encontre
if (!variant) {
. Após o colchete de fechamento}
, adicione o seguinte código:
else {
if (variantStock[variant.id] > 0 && variant.inventory_management == 'shopify' && inventoryWrapper !== null) {
const inventoryHtml = `<p>Stock: ${variantStock[variant.id]}</p>`;
inventoryWrapper.innerHTML = inventoryHtml;
} else {
inventoryWrapper.innerHTML = '';
}
}
O código acima gera Stock: x
. É possível alterar o texto ajustando o conteúdo nas tags <p>
. Inclua ${variantStock[variant.id]}
nas tags <p>
.
- Clique em Salvar.
Etapas para Brooklyn, Simple e Minimal
Editar theme.liquid
- No seu admin da Shopify, vá para loja virtual > temas.
- Encontre o tema que você deseja editar e, depois, clique em Ações > Editar código.
- No diretório Layout, abra
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:
<script>
var variantStock = {};
</script>
- Clique em Salvar.
Edite product-template.liquid
ou featured-product.liquid
No diretório Seções, abra
product-template.liquid
oufeatured-product.liquid
:Encontre
{% form 'product'
. Acima dessa tag, adicione o seguinte código:
<div class="inventoryWrapper">
{% if current_variant.inventory_quantity > 0 and current_variant.inventory_management == 'shopify' %}
<p>Stock: {{ current_variant.inventory_quantity }}</p>
{% endif %}
</div>
The code above outputs `Stock: x`. You can change the wording by adjusting the content in the `<p>` tags. Make sure to include `{{current_variant.inventory_quantity }}` in your `<p>` tags.
- Na parte inferior do arquivo, cole o seguinte código:
<script>
{% for variant in product.variants %}
variantStock[{{- variant.id -}}] = {{ variant.inventory_quantity }};
{% endfor %}
</script>
- Clique em Salvar.
Edite theme.js.liquid
ou theme.js
- Abra
theme.js.liquid
outheme.js
. -
Encontre
theme.Product = (function()
. Abaixo dethis.selectors = {
, adicione o seguinte código:
inventoryHtml: '.inventoryWrapper',
- No mesmo arquivo, encontre
if (variant.available) {
. Antes da instrução} else {
, adicione o seguinte código:
if (variantStock[variant.id] > 0 && variant.inventory_management == 'shopify') {
const inventoryHtml = `<p>Stock: ${variantStock[variant.id]}</p>`;
$(this.selectors.inventoryHtml, this.$container).html(inventoryHtml);
} else {
$(this.selectors.inventoryHtml, this.$container).html('');
}
The code above outputs `Stock: x`. You can change the wording by adjusting the content in the `<p>` tags. Make sure to include `${variantStock[variant.id]}` in your `<p>` tags.
- Clique em Salvar.
Etapas para Boundless
Editar theme.liquid
- No seu admin da Shopify, vá para loja virtual > temas.
- Encontre o tema que você deseja editar e, depois, clique em Ações > Editar código.
- No diretório Layout, abra
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:
<script>
var variantStock = {};
</script>
- Clique em Salvar.
Edite product-template.liquid
ou featured-product.liquid
No diretório Seções, abra
product-template.liquid
oufeatured-product.liquid
:Encontre
{% form 'product'
. Acima dessa tag, adicione o seguinte código:
<div class="inventoryWrapper">
{% if current_variant.inventory_quantity > 0 and current_variant.inventory_management == 'shopify' %}
<p>Stock: {{ current_variant.inventory_quantity }}</p>
{% endif %}
</div>
O código acima gera Stock: x
. É possível alterar o texto ajustando o conteúdo nas tags <p>
. Inclua {{current_variant.inventory_quantity }}
nas tags <p>
.
- Na parte inferior do arquivo, cole o seguinte código:
<script>
{% for variant in product.variants %}
variantStock[{{- variant.id -}}] = {{ variant.inventory_quantity }};
{% endfor %}
</script>
- Clique em Salvar.
Edite theme.js.liquid
ou theme.js
- Abra ‘theme.js.liquid’ *ou *‘theme.js’.
-
Encontre
theme.Product = (function()
. Abaixo devar selectors = {
, adicione o seguinte código:
inventoryHtml: '.inventoryWrapper',
- No mesmo arquivo, encontre
$(selectors.SKU, this.$container).html(variant.sku);
. Imediatamente abaixo, adicione o seguinte código:
if (variantStock[variant.id] > 0 && variant.inventory_management == 'shopify') {
const inventoryHtml = `<p>Stock: ${variantStock[variant.id]}</p>`;
$('.inventoryWrapper').html(inventoryHtml);
} else {
$('.inventoryWrapper').html("");
}
O código acima gera Stock: x
. É possível alterar o texto ajustando o conteúdo nas tags <p>
. Inclua ${variantStock[variant.id]}
nas tags <p>
.
- Clique em Salvar.
Etapas para o Narrative
Editar theme.liquid
- No seu admin da Shopify, vá para loja virtual > temas.
- Encontre o tema que você deseja editar e, depois, clique em Ações > Editar código.
- No diretório Layout, abra
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:
<script>
var variantStock = {};
</script>
- Clique em Salvar.
Edite product-template.liquid
ou featured-product.liquid
No diretório Seções, abra
product-template.liquid
oufeatured-product.liquid
:Encontre
{% include 'product-form' %}
. Acima dessa tag, adicione o seguinte código:
<div class="inventoryWrapper">
{% if current_variant.inventory_quantity > 0 and current_variant.inventory_management == 'shopify' %}
<p>Stock: {{ current_variant.inventory_quantity }}</p>
{% endif %}
</div>
O código acima gera Stock: x
. É possível alterar o texto ajustando o conteúdo nas tags <p>
. Inclua {{current_variant.inventory_quantity }}
nas tags <p>
.
- Na parte inferior do arquivo, cole o seguinte código:
<script>
{% for variant in product.variants %}
variantStock[{{- variant.id -}}] = {{ variant.inventory_quantity }};
{% endfor %}
</script>
- Clique em Salvar.
Editar custom.js
- Abra
custom.js
. - Na parte inferior do arquivo, cole o seguinte código:
var sections = window.theme.sections;
var inventorySelectorHtml = '.inventoryWrapper';
var productExtension = {
init: function() {
this.on('variant_change_successful', this._updateInventory.bind(this));
this.on('variant_change_undefined', this._removeInventory.bind(this));
},
_removeInventory: function() {
$(inventorySelectorHtml, this.container).html('');
},
_updateInventory: function(event, instance, product, variant) {
if (variantStock[variant.id] > 0 && variant.inventory_management == 'shopify') {
$(inventorySelectorHtml, this.container).html(`<p>Stock: ${variantStock[variant.id]}</p>`);
} else {
$(inventorySelectorHtml, this.container).html('');
}
}
};
sections.extend('product-template', productExtension);
sections.extend('featured-product', productExtension);
The code above outputs `Stock: x`. You can change the wording by adjusting the content in the `<p>` tags. Make sure to include `${variantStock[variant.id]}` in your `<p>` tags.
- Clique em Salvar.