Etapas para Boundless
Siga estas etapas para aplicar a personalização ao Boundless:
Editar o arquivo JavaScript do seu tema
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você quer editar, clique no botão … para abrir o menu de ações e, depois, em Editar código .
No diretório Ativos , clique em theme.js
ou theme.js.liquid
Encontre o código initVariantSelectors
. Abaixo dele, encontre o seguinte código:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
this . simplifyVariantLabels ( this . productSingleObject , this . $container );
Adicione o seguinte código em uma nova linha abaixo:
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
Ele deve ficar assim:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
this . simplifyVariantLabels ( this . productSingleObject , this . $container );
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
Encontre a seguinte linha de código:
$ ( selectors . addToCartText ). html ( theme . strings . soldOut );
Existem duas instâncias dessa linha de código, ambas encontradas dentro da função productVariantCallback
. Substitua apenas a segunda instância por:
$ ( selectors . addToCartText ). html ( ' Make a Selection ' );
Clique em Salvar .
Observação
Algumas versões do Boundless não incluem a linha de código a ser substituída nesta etapa. Se você não conseguir encontrar o código, pule para a próxima etapa.
Editar seu modelo de página de produto
Para editar o modelo de página do seu produto:
No diretório Seções , clique em product-template.liquid
.
Encontre o seguinte código:
{% assign current_variant = product . selected_or_first_available_variant %}
Substitua por:
{% assign current_variant = product . selected_variant %}
Encontre o seguinte código e exclua-o:
{% if variant == product . selected_or_first_available_variant %} selected="selected" {% endif %}
Encontre o código {% schema %}
. Acima dele, cole este código em sua própria linha:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
Ele deve ficar assim:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
{% schema %}
Clique em Salvar .
Alterar as configurações de idioma do botão Adicionar ao carrinho
Você pode alterar as configurações de idioma do botão Adicionar ao carrinho para que os produtos não apareçam como "Indisponível" antes que uma seleção seja feita.
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você vai editar e depois clique em ... > Editar conteúdo do tema padrão .
Na caixa Filtro , comece a digitar unavailable
para exibir a tradução "Indisponível".
Substitua o texto Indisponível por Make a selection
.
Clique em Salvar .
Etapas para o Debut
Siga estas etapas para aplicar a personalização ao Debut:
Editar o arquivo JavaScript do seu tema
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você quer editar, clique no botão … para abrir o menu de ações e, depois, em Editar código .
No diretório Ativos , clique em theme.js
ou theme.js.liquid
Adicione o seguinte código ao final do arquivo:
( function () {
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
})();
Encontre o código _updatePrice: function(variant)
. Substitua o seguinte código:
if (
variant . price === this . currentVariant . price &&
variant . compare_at_price === this . currentVariant . compare_at_price &&
variant . unit_price === this . currentVariant . unit_price
) {
return ;
}
com:
/* if (
variant.price === this.currentVariant.price &&
variant.compare_at_price === this.currentVariant.compare_at_price &&
variant.unit_price === this.currentVariant.unit_price
) {
return;
} */
Caso você não consiga localizar o código acima, encontre este código:
if (
variant . price === this . currentVariant . price &&
variant . compare_at_price === this . currentVariant . compare_at_price
) {
return ;
}
Substitua por:
/* if (
variant.price === this.currentVariant.price &&
variant.compare_at_price === this.currentVariant.compare_at_price
) {
return;
} */
Encontre o código this.currentVariant = variant;
Abaixo dele, adicione o seguinte código:
this . _updatePaymentButton ( variant );
O resultado deve ficar assim:
this . currentVariant = variant ;
this . _updatePaymentButton ( variant );
Encontre o código _updateImages: function(variant)
. Substitua o seguinte código:
var currentVariantImage = this . currentVariant . featured_image || {};
com:
if ( this . currentVariant != undefined ) {
var currentVariantImage = this . currentVariant . featured_image || {};
}
Logo abaixo, encontre o seguinte código:
if (
! variant . featured_image ||
variantImage . src === currentVariantImage . src
) {
return ;
}
Substitua por:
/* if (
!variant.featured_image ||
variantImage.src === currentVariantImage.src
) {
return;
} */
Encontre o código _updateSKU: function(variant)
. Substitua o seguinte código:
if ( variant . sku === this . currentVariant . sku ) {
return ;
}
com:
if ( this . currentVariant != undefined ) {
if ( variant . sku === this . currentVariant . sku ) {
return ;
}
}
Encontre o código _initVariants: function() {
. Substitua o seguinte código:
if ( this . storeAvailability && this . variants . currentVariant . available ) {
this . storeAvailability . updateContent ( this . variants . currentVariant . id );
}
com:
/* if (this.storeAvailability && this.variants.currentVariant.available) {
this.storeAvailability.updateContent(this.variants.currentVariant.id);
} */
Encontre o seguinte código:
_updateSKU : function ( variant ) {
if ( this . currentVariant != undefined ) {
if ( variant . sku === this . currentVariant . sku ) {
return ;
}
}
this . container . dispatchEvent (
new CustomEvent ( ' variantSKUChange ' , {
detail : {
variant : variant
},
bubbles : true ,
cancelable : true
})
);
},
Abaixo do código mostrado acima, adicione este código em uma nova linha:
_updatePaymentButton : function ( variant ) {
if ( this . currentVariant != undefined ) {
const paymentButton = document . querySelector ( ' .payment-button ' );
if ( paymentButton ) {
paymentButton . removeAttribute ( ' class ' , ' visually-hidden ' );
}
} else {
document . querySelector ( ' .payment-button ' ). setAttribute ( ' class ' , ' visually-hidden ' );
}
},
Ele deve ficar assim:
_updateSKU : function ( variant ) {
if ( this . currentVariant != undefined ) {
if ( variant . sku === this . currentVariant . sku ) {
return ;
}
}
this . container . dispatchEvent (
new CustomEvent ( ' variantSKUChange ' , {
detail : {
variant : variant
},
bubbles : true ,
cancelable : true
})
);
},
_updatePaymentButton : function ( variant ) {
if ( this . currentVariant != undefined ) {
const paymentButton = document . querySelector ( ' .payment-button ' );
if ( paymentButton ) {
paymentButton . removeAttribute ( ' class ' , ' visually-hidden ' );
}
} else {
document . querySelector ( ' .payment-button ' ). setAttribute ( ' class ' , ' visually-hidden ' );
}
},
Clique em Salvar .
Editar seu modelo de página de produto
Para editar o modelo de página do seu produto:
No diretório Seções , clique em product-template.liquid
.
Encontre o seguinte código:
{%- assign current_variant = product . selected_or_first_available_variant -%}
Substitua por:
{%- if product . variants . size > 1 -%}
{%- assign current_variant = product . selected_variant -%}
{%- else %}
{%- assign current_variant = product . first_available_variant -%}
{%- endif %}
Encontre o seguinte código e exclua-o:
{% if variant == product . selected_or_first_available_variant %} selected="selected" {% endif %}
Caso você não consiga localizar o código acima, encontre e exclua este código:
{%- if variant == current_variant %} selected="selected" {%- endif -%}
Encontre o seguinte código:
{%- assign featured_image = product . selected_or_first_available_variant . featured_image | default : product . featured_image -%}
Substitua por:
{%- assign featured_image = current_variant . featured_image | default : product . featured_image -%}
Caso você não consiga localizar o código acima, encontre este código:
{%- assign featured_media = product . selected_or_first_available_variant . featured_media | default : product . featured_media -%}
Substitua por:
{%- assign featured_media = current_variant . featured_media | default : product . featured_media -%}
Observação
Algumas versões do Debut não incluem a linha de código a ser substituída nesta etapa. Se você não conseguir encontrar o código, pule para a próxima etapa.
Encontre o seguinte código:
{% unless current_variant . available %}
{{ 'products.product.sold_out' | t }}
{% else %}
{{ 'products.product.add_to_cart' | t }}
{% endunless %}
Substitua por:
{% if current_variant == blank %}
{{ 'products.product.unavailable' | t }}
{% elsif current_variant . available %}
{{ 'products.product.add_to_cart' | t }}
{% else %}
{{ 'products.product.sold_out' | t }}
{% endif %}
Encontre o seguinte código:
{% if section . settings . enable_payment_button %}
{{ form | payment_button }}
{% endif %}
Substitua por:
<div class="payment-button {% if current_variant == blank %} visually-hidden {% endif %} ">
{% if section . settings . enable_payment_button %}
{{ form | payment_button }}
{% endif %}
</div>
Encontre o código {% schema %}
. Acima dele, cole este código em sua própria linha:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
Ele deve ficar assim:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
{% schema %}
Clique em Salvar .
Editar um snippet de código do código de preço do produto
Editar o snippet de preço do produto:
No diretório Snippets , clique em product-price.liquid
.
Encontre o seguinte código:
{%- liquid
if variant . title
assign compare_at_price = variant . compare_at_price
assign price = variant . price
assign available = variant . available
else
assign compare_at_price = 1999
assign price = 1999
assign available = true
endif
assign money_price = price | money
-%}
Substitua por:
{%- liquid
if variant . title
assign compare_at_price = variant . compare_at_price
assign price = variant . price
assign available = variant . available
elsif product . title
assign compare_at_price = product . compare_at_price
assign price = product . price
assign available = product . available
else
assign compare_at_price = 1999
assign price = 1999
assign available = true
endif
assign money_price = price | money
-%}
Observação
Algumas versões do Debut não incluem a linha de código a ser substituída nesta etapa. Se você não conseguir encontrar o código, pule para a próxima etapa.
Alterar as configurações de idioma do botão Adicionar ao carrinho
Você pode alterar as configurações de idioma do botão Adicionar ao carrinho para que os produtos não apareçam como "Indisponível" antes que uma seleção seja feita.
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você vai editar e depois clique em ... > Editar conteúdo do tema padrão .
Na caixa Filtro , comece a digitar unavailable
para exibir a tradução "Indisponível".
Substitua o texto Indisponível por Make a selection
.
Clique em Salvar .
Etapas para o Minimal
Siga estas etapas para aplicar a personalização ao Minimal:
Editar o arquivo JavaScript do seu tema
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você quer editar, clique no botão … para abrir o menu de ações e, depois, em Editar código .
No diretório Ativos , clique em theme.js
ou theme.js.liquid
Encontre o código initProductVariant: function() {
. Abaixo dele, encontre o seguinte código:
// Hide selectors if we only have 1 variant and its title contains 'Default'.
if (
product . variants . length === 1 &&
product . variants [ 0 ]. title . toLowerCase (). indexOf ( ' default ' ) !== - 1
) {
$ ( ' .selector-wrapper ' , this . $container ). hide ();
}
Adicione o seguinte código em uma nova linha abaixo:
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
Ele deve ficar assim:
// Hide selectors if we only have 1 variant and its title contains 'Default'.
if (
product . variants . length === 1 &&
product . variants [ 0 ]. title . toLowerCase (). indexOf ( ' default ' ) !== - 1
) {
$ ( ' .selector-wrapper ' , this . $container ). hide ();
}
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
Clique em Salvar .
Editar seu modelo de página de produto
Para editar o modelo de página do seu produto:
No diretório Seções , clique em product-template.liquid
.
Encontre o seguinte código:
{% assign variant = product . selected_or_first_available_variant %}
Substitua por:
{% assign variant = product . selected_variant %}
Encontre o seguinte código e exclua-o:
{% if variant == product . selected_or_first_available_variant %} selected="selected" {% endif %}
Encontre todas as ocorrências deste código:
{% assign featured_image = product . selected_or_first_available_variant . featured_image | default : product . featured_image %}
Substitua por:
{% assign featured_image = product . selected_variant . featured_image | default : product . featured_image %}
Encontre o código {% schema %}
. Acima dele, cole este código em sua própria linha:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
Ele deve ficar assim:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
{% schema %}
Clique em Salvar .
Alterar as configurações de idioma do botão Adicionar ao carrinho
Você pode alterar as configurações de idioma do botão Adicionar ao carrinho para que os produtos não apareçam como "Indisponível" antes que uma seleção seja feita.
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você vai editar e depois clique em ... > Editar conteúdo do tema padrão .
Na caixa Filtro , comece a digitar unavailable
para exibir a tradução "Indisponível".
Substitua o texto Indisponível por Make a selection
.
Clique em Salvar .
Etapas para o Narrative
Siga estas etapas para aplicar a personalização ao Narrative:
Editar o arquivo JavaScript do seu tema
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você quer editar, clique no botão … para abrir o menu de ações e, depois, em Editar código .
No diretório Ativos , clique em custom.js
.
Adicione o seguinte código ao final do arquivo:
( function () {
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
})();
Clique em Salvar .
Editar seu modelo de página de produto
Para editar o modelo de página do seu produto:
No diretório Seções , clique em product-template.liquid
.
Encontre o seguinte código:
{%- assign current_variant = product . selected_or_first_available_variant -%}
Substitua por:
{%- if product . variants . size > 1 -%}
{%- assign current_variant = product . selected_variant -%}
{%- else -%}
{%- assign current_variant = product . first_available_variant -%}
{%- endif -%}
Encontre o código {% schema %}
. Acima dele, cole este código em sua própria linha:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
Ele deve ficar assim:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
{% schema %}
Clique em Salvar .
Alterar as configurações de idioma do botão Adicionar ao carrinho
Você pode alterar as configurações de idioma do botão Adicionar ao carrinho para que os produtos não apareçam como "Indisponível" antes que uma seleção seja feita.
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você vai editar e depois clique em ... > Editar conteúdo do tema padrão .
Na caixa Filtro , comece a digitar unavailable
para exibir a tradução "Indisponível".
Substitua o texto Indisponível por Make a selection
.
Clique em Salvar .
Etapas para o Simple
Siga estas etapas para aplicar a personalização ao Simple:
Editar o arquivo JavaScript do seu tema
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você quer editar, clique no botão … para abrir o menu de ações e, depois, em Editar código .
No diretório Ativos , clique em theme.js
ou theme.js.liquid
Encontre o código initProductVariant: function() {
. Abaixo dele, encontre o seguinte código:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
Slate . simplifyVariantLabels ( this . productSingleObject , this . $container );
Adicione o seguinte código em uma nova linha abaixo:
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
Ele deve ficar assim:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
Slate . simplifyVariantLabels ( this . productSingleObject , this . $container );
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
Clique em Salvar .
Editar seu modelo de página de produto
Para editar o modelo de página do seu produto:
No diretório Seções , clique em product-template.liquid
.
Encontre o seguinte código:
{% assign current_variant = product . selected_or_first_available_variant %}
Substitua por:
{% assign current_variant = product . selected_variant %}
Encontre o seguinte código e exclua-o:
{% if variant == product . selected_or_first_available_variant %} selected="selected" {% endif %}
Encontre o código {% schema %}
. Acima dele, cole este código em sua própria linha:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
Ele deve ficar assim:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
{% schema %}
Clique em Salvar .
Alterar as configurações de idioma do botão Adicionar ao carrinho
Você pode alterar as configurações de idioma do botão Adicionar ao carrinho para que os produtos não apareçam como "Indisponível" antes que uma seleção seja feita.
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você vai editar e depois clique em ... > Editar conteúdo do tema padrão .
Na caixa Filtro , comece a digitar unavailable
para exibir a tradução "Indisponível".
Substitua o texto Indisponível por Make a selection
.
Clique em Salvar .
Etapas para o Supply
Siga estas etapas para aplicar a personalização ao Supply:
Editar o arquivo JavaScript do seu tema
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você quer editar, clique no botão … para abrir o menu de ações e, depois, em Editar código .
No diretório Ativos , clique em theme.js
ou theme.js.liquid
Encontre o código initProductVariant: function() {
. Abaixo dele, encontre o seguinte código:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
this . simplifyVariantLabels ( this . productSingleObject );
Adicione o seguinte código em uma nova linha abaixo:
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
Ele deve ficar assim:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
this . simplifyVariantLabels ( this . productSingleObject );
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
Clique em Salvar .
Editar seu modelo de página de produto
Para editar o modelo de página do seu produto:
No diretório Seções , clique em product-template.liquid
.
Encontre o seguinte código:
{% assign variant = product . selected_or_first_available_variant %}
Substitua por:
{% assign variant = product . selected_variant %}
Encontre o seguinte código e exclua-o:
{% if variant == product . selected_or_first_available_variant %} selected="selected" {% endif %}
Encontre todas as ocorrências deste código:
{% assign featured_image = product . selected_or_first_available_variant . featured_image | default : product . featured_image %}
Substitua por:
{% assign featured_image = product . selected_variant . featured_image | default : product . featured_image %}
Encontre o código {% schema %}
. Acima dele, cole este código em sua própria linha:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
Ele deve ficar assim:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
{% schema %}
Clique em Salvar .
Alterar as configurações de idioma do botão Adicionar ao carrinho
Você pode alterar as configurações de idioma do botão Adicionar ao carrinho para que os produtos não apareçam como "Indisponível" antes que uma seleção seja feita.
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você vai editar e depois clique em ... > Editar conteúdo do tema padrão .
Na caixa Filtro , comece a digitar unavailable
para exibir a tradução "Indisponível".
Substitua o texto Indisponível por Make a selection
.
Clique em Salvar .
Etapas para o Venture
Siga estas etapas para aplicar a personalização ao Venture:
Editar o arquivo JavaScript do seu tema
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você quer editar, clique no botão … para abrir o menu de ações e, depois, em Editar código .
No diretório Ativos , clique em theme.js
ou theme.js.liquid
Adicione o seguinte código ao final do arquivo:
( function () {
if ( typeof ( productOptions ) != " undefined " ) {
for ( i = 0 ; i < productOptions . length ; i ++ ) {
const vowels = [ ' a ' , ' e ' , ' i ' , ' o ' , ' u ' ];
const firstOptionLetter = productOptions [ i ][ i ][ 0 ]. toLowerCase ();
let indef = ' a ' ;
if ( vowels . includes ( firstOptionLetter )) {
indef = ' an ' ;
};
const select = document . querySelectorAll ( ' .single-option-selector ' )[ i ];
const options = select . querySelectorAll ( ' option ' );
if ( options . length > 1 ) {
let option = new Option ( ' Pick ' + indef + ' ' + productOptions [ i ][ i ], '' );
select . add ( option , select . firstChild );
select . selectedIndex = 0 ;
}
}
}
})();
Encontre o seguinte código:
this . currentVariant = this . _getVariantFromOptions ();
Substitua por:
this . currentVariant = this . _getVariantFromOptions () || {};
Encontre o código _updatePrice: function(variant)
. Substitua o seguinte código:
if (
variant . price === this . currentVariant . price &&
variant . compare_at_price === this . currentVariant . compare_at_price
) {
return ;
}
com:
/* if (
variant.price === this.currentVariant.price &&
variant.compare_at_price === this.currentVariant.compare_at_price
) {
return;
} */
Clique em Salvar .
Editar seu modelo de página de produto
Para editar o modelo de página do seu produto:
No diretório Seções , clique em product-template.liquid
.
Encontre o seguinte código:
{% assign current_variant = product . selected_or_first_available_variant %}
Substitua por:
{% if product . variants . size > 1 %}
{% assign current_variant = product . selected_variant %}
{% else %}
{% assign current_variant = product . first_available_variant %}
{% endif %}
Encontre o seguinte código e exclua-o:
{% if variant == product . selected_or_first_available_variant %} selected="selected" {% endif %}
Caso você não consiga localizar o código acima, encontre e exclua este código:
{% if variant == current_variant %} selected="selected" {% endif %}
Encontre todas as ocorrências deste código:
{% unless current_variant . available %}
Substitua por:
{% unless current_variant . available or product . variants . size == 1 and variant . available %}
Encontre o seguinte código:
{% unless current_variant . available or product . variants . size == 1 and variant . available %}
{{ 'products.product.sold_out' | t }}
{% else %}
{{ 'products.product.add_to_cart' | t }}
{% endunless %}
Substitua por:
{% if current_variant == blank %}
{{ 'products.product.unavailable' | t }}
{% else %}
{% unless current_variant . available or product . variants . size == 1 and variant . available %}
{{ 'products.product.sold_out' | t }}
{% else %}
{{ 'products.product.add_to_cart' | t }}
{% endunless %}
{% endif %}
Encontre o código {% schema %}
. Acima dele, cole este código em sua própria linha:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
Ele deve ficar assim:
{% if current_variant == blank %}
<script>
var productOptions = [];
{% for option in product . options -%}
var optionObj = {};
optionObj[{{ forloop.index0 }} ] = "{{ product . options [ forloop.index0 ] }} ";
productOptions.push(optionObj);
{%- endfor %}
</script>
{% endif %}
{% schema %}
Clique em Salvar .
Alterar as configurações de idioma do botão Adicionar ao carrinho
Você pode alterar as configurações de idioma do botão Adicionar ao carrinho para que os produtos não apareçam como "Indisponível" antes que uma seleção seja feita.
No admin da Shopify, acesse Loja virtual > Temas .
Encontre o tema que você vai editar e depois clique em ... > Editar conteúdo do tema padrão .
Na caixa Filtro , comece a digitar unavailable
para exibir a tradução "Indisponível".
Substitua o texto Indisponível por Make a selection
.
Clique em Salvar .