Incoraggiare i clienti a scegliere un'opzione
Quando un cliente visita una pagina del prodotto sul tuo negozio online, per impostazione predefinita viene selezionata la prima variante disponibile. Puoi utilizzare la personalizzazione Incoraggiare i clienti a scegliere un'opzione per disabilitare la selezione automatica della prima variante disponibile. In questo modo prima di mostrare una variante, verrà richiesto al cliente di selezionarne una manualmente.
Se utilizzi l'opzione Incoraggiare i clienti a scegliere un'opzione per fare in modo che i clienti scelgano un'opzione di personalizzazione, il tema potrebbe non mostrare il prezzo del prodotto fino a quando il cliente non ne seleziona una variante. I prodotti con varianti non hanno un prezzo in evidenza e il prezzo visualizzato è determinato dalla variante selezionata.
Temi con sezioni e temi senza sezioni
Su questa pagina
Passaggi per i Temi con sezioni
Seleziona il tuo tema
I passaggi per questa personalizzazione variano a seconda del tuo tema. Clicca sul pulsante del tema prima di seguire le istruzioni qui sotto:
Passaggi per Boundless
Segui questi passaggi per applicare la personalizzazione a Boundless:
Modifica il file JavaScript del tema
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, clicca sul pulsante … per aprire il menu azioni, quindi clicca su Modifica codice.
- Nella directory Risorse, clicca su
theme.js
o sutheme.js.liquid
. -
Trova il codice
initVariantSelectors
. Di seguito cerca il codice seguente:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
this.simplifyVariantLabels(this.productSingleObject, this.$container);
Aggiungi il codice seguente in una nuova riga sottostante:
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;
}
}
}
Dovrebbe avere un aspetto simile a questo:
// 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;
}
}
}
- Trova la riga di codice seguente:
$(selectors.addToCartText).html(theme.strings.soldOut);
Esistono due istanze di questa riga di codice, entrambe visibili nella funzione productVariantCallback
. Sostituisci solo la seconda istanza con:
$(selectors.addToCartText).html('Make a Selection');
- Clicca su Salva.
Modifica il modello della pagina del prodotto
Per modificare il modello della pagina del prodotto:
- Nella directory Sezioni, clicca su
product-template.liquid
. - Trova il codice seguente:
{% assign current_variant = product.selected_or_first_available_variant %}
Sostituiscilo con:
{% assign current_variant = product.selected_variant %}
- Trova il codice seguente ed eliminalo:
{% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %}
-
Trova il codice
{% schema %}
. Sopra a questo, incolla il codice seguente su una riga separata:
{% 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 %}
Dovrebbe avere un aspetto simile a questo:
{% 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 %}
- Clicca su Salva.
Modifica le impostazioni della lingua per il pulsante Aggiungi al carrello
Puoi modificare le impostazioni della lingua per il pulsante Aggiungi al carrello per evitare che i prodotti appaiano come Non disponibili prima che un cliente selezioni un prodotto.
Passaggi:
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, quindi clicca su ... > Modifica contenuto tema predefinito.
- Nella barra di ricerca Filtra articoli, inizia a digitare non disponibile per visualizzare la traduzione di Non disponibile.
- Sostituisci il testo Non disponibile con Fai una selezione.
- Clicca su Salva.
Passaggi per Debut
Segui questi passaggi per applicare la personalizzazione a Debut:
Modifica il file JavaScript del tema
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, clicca sul pulsante … per aprire il menu azioni, quindi clicca su Modifica codice.
- Nella directory Risorse, clicca su
theme.js
o sutheme.js.liquid
. - Aggiungi il seguente codice in fondo al file:
(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;
}
}
}
})();
-
Trova il codice
_updatePrice: function(variant)
. Sostituiscilo con il codice seguente:
if (
variant.price === this.currentVariant.price &&
variant.compare_at_price === this.currentVariant.compare_at_price &&
variant.unit_price === this.currentVariant.unit_price
) {
return;
}
con:
/* if (
variant.price === this.currentVariant.price &&
variant.compare_at_price === this.currentVariant.compare_at_price &&
variant.unit_price === this.currentVariant.unit_price
) {
return;
} */
Se non riesci a trovare il codice riportato sopra, cerca il codice seguente:
if (
variant.price === this.currentVariant.price &&
variant.compare_at_price === this.currentVariant.compare_at_price
) {
return;
}
Sostituiscilo con:
/* if (
variant.price === this.currentVariant.price &&
variant.compare_at_price === this.currentVariant.compare_at_price
) {
return;
} */
-
Trova il codice
this.currentVariant = variant;
Sotto aggiungi il codice seguente:
this._updatePaymentButton(variant);
Il risultato dovrebbe avere un aspetto simile a questo:
this.currentVariant = variant;
this._updatePaymentButton(variant);
-
Trova il codice
_updateImages: function(variant)
. Sostituiscilo con il codice seguente:
var currentVariantImage = this.currentVariant.featured_image || {};
con:
if (this.currentVariant != undefined) {
var currentVariantImage = this.currentVariant.featured_image || {};
}
- Appena sotto trova il codice seguente:
if (
!variant.featured_image ||
variantImage.src === currentVariantImage.src
) {
return;
}
Sostituiscilo con:
/* if (
!variant.featured_image ||
variantImage.src === currentVariantImage.src
) {
return;
} */
-
Trova il codice
_updateSKU: function(variant)
. Sostituiscilo con il codice seguente:
if (variant.sku === this.currentVariant.sku) {
return;
}
con:
if (this.currentVariant != undefined ) {
if (variant.sku === this.currentVariant.sku) {
return;
}
}
-
Trova il codice
_initVariants: function() {
. Sostituiscilo con il codice seguente:
if (this.storeAvailability && this.variants.currentVariant.available) {
this.storeAvailability.updateContent(this.variants.currentVariant.id);
}
con:
/* if (this.storeAvailability && this.variants.currentVariant.available) {
this.storeAvailability.updateContent(this.variants.currentVariant.id);
} */
- Trova il codice seguente:
_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
})
);
},
Aggiungi il codice seguente su una nuova riga sotto il codice riportato sopra:
_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');
}
},
Dovrebbe avere un aspetto simile a questo:
_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');
}
},
- Clicca su Salva.
Modifica il modello della pagina del prodotto
Per modificare il modello della pagina del prodotto:
- Nella directory Sezioni, clicca su
product-template.liquid
. - Trova il codice seguente:
{%- assign current_variant = product.selected_or_first_available_variant -%}
Sostituiscilo con:
{%- if product.variants.size > 1 -%}
{%- assign current_variant = product.selected_variant -%}
{%- else %}
{%- assign current_variant = product.first_available_variant -%}
{%- endif %}
- Trova il codice seguente ed eliminalo:
{% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %}
Se non riesci a trovare il codice riportato sopra, cerca il codice seguente ed eliminalo:
{%- if variant == current_variant %} selected="selected" {%- endif -%}
- Trova il codice seguente:
{%- assign featured_image = product.selected_or_first_available_variant.featured_image | default: product.featured_image -%}
Sostituiscilo con:
{%- assign featured_image = current_variant.featured_image | default: product.featured_image -%}
Se non riesci a trovare il codice riportato sopra, cerca il codice seguente:
{%- assign featured_media = product.selected_or_first_available_variant.featured_media | default: product.featured_media -%}
Sostituiscilo con:
{%- assign featured_media = current_variant.featured_media | default: product.featured_media -%}
- Trova il codice seguente:
{% unless current_variant.available %}
{{ 'products.product.sold_out' | t }}
{% else %}
{{ 'products.product.add_to_cart' | t }}
{% endunless %}
Sostituiscilo con:
{% 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 %}
- Trova il codice seguente:
{% if section.settings.enable_payment_button %}
{{ form | payment_button }}
{% endif %}
Sostituiscilo con:
<div class="payment-button {% if current_variant == blank %}visually-hidden {% endif %}">
{% if section.settings.enable_payment_button %}
{{ form | payment_button }}
{% endif %}
</div>
-
Trova il codice
{% schema %}
. Sopra a questo, incolla il codice seguente su una riga separata:
{% 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 %}
Dovrebbe avere un aspetto simile a questo:
{% 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 %}
- Clicca su Salva.
Modifica il frammento del prezzo del prodotto
Per modificare il frammento del prezzo del prodotto:
- Nella directory Frammenti, clicca su
product-price.liquid
. - Trova il codice seguente:
{%- 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
-%}
Sostituiscilo con:
{%- 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
-%}
Modifica le impostazioni della lingua per il pulsante Aggiungi al carrello
Puoi modificare le impostazioni della lingua per il pulsante Aggiungi al carrello per evitare che i prodotti appaiano come Non disponibili prima che un cliente selezioni un prodotto.
Passaggi:
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, quindi clicca su ... > Modifica contenuto tema predefinito.
- Nella barra di ricerca Filtra articoli, inizia a digitare non disponibile per visualizzare la traduzione di Non disponibile.
- Sostituisci il testo Non disponibile con Fai una selezione.
- Clicca su Salva.
Passaggi per Minimal
Segui questi passaggi per applicare la personalizzazione a Minimal:
Modifica il file JavaScript del tema
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, clicca sul pulsante … per aprire il menu azioni, quindi clicca su Modifica codice.
- Nella directory Risorse, clicca su
theme.js
o sutheme.js.liquid
. -
Trova il codice
initProductVariant: function() {
. Di seguito cerca il codice seguente:
// 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();
}
Aggiungi il codice seguente in una nuova riga sottostante:
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;
}
}
}
Dovrebbe avere un aspetto simile a questo:
// 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;
}
}
}
- Clicca su Salva.
Modifica il modello della pagina del prodotto
Per modificare il modello della pagina del prodotto:
- Nella directory Sezioni, clicca su
product-template.liquid
. - Trova il codice seguente:
{% assign variant = product.selected_or_first_available_variant %}
Sostituiscilo con:
{% assign variant = product.selected_variant %}
- Trova il codice seguente ed eliminalo:
{% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %}
- Trova tutte le istanze di questo codice:
{% assign featured_image = product.selected_or_first_available_variant.featured_image | default: product.featured_image %}
Sostituisci con:
{% assign featured_image = product.selected_variant.featured_image | default: product.featured_image %}
-
Trova il codice
{% schema %}
. Sopra a questo, incolla il codice seguente su una riga separata:
{% 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 %}
Dovrebbe avere un aspetto simile a questo:
{% 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 %}
- Clicca su Salva.
Modifica le impostazioni della lingua per il pulsante Aggiungi al carrello
Puoi modificare le impostazioni della lingua per il pulsante Aggiungi al carrello per evitare che i prodotti appaiano come Non disponibili prima che un cliente selezioni un prodotto.
Passaggi:
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, quindi clicca su ... > Modifica contenuto tema predefinito.
- Nella barra di ricerca Filtra articoli, inizia a digitare non disponibile per visualizzare la traduzione di Non disponibile.
- Sostituisci il testo Non disponibile con Fai una selezione.
- Clicca su Salva.
Passaggi per Narrative
Segui questi passaggi per applicare la personalizzazione a Narrative:
Modifica il file JavaScript del tema
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, clicca sul pulsante … per aprire il menu azioni, quindi clicca su Modifica codice.
- Nella directory Risorse, clicca su
custom.js
. - Aggiungi il seguente codice in fondo al file:
(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;
}
}
}
})();
- Clicca su Salva.
Modifica il modello della pagina del prodotto
Per modificare il modello della pagina del prodotto:
- Nella directory Sezioni, clicca su
product-template.liquid
. - Trova il codice seguente:
{%- assign current_variant = product.selected_or_first_available_variant -%}
Sostituiscilo con:
{%- if product.variants.size > 1 -%}
{%- assign current_variant = product.selected_variant -%}
{%- else -%}
{%- assign current_variant = product.first_available_variant -%}
{%- endif -%}
-
Trova il codice
{% schema %}
. Sopra a questo, incolla il codice seguente su una riga separata:
{% 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 %}
Dovrebbe avere un aspetto simile a questo:
{% 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 %}
- Clicca su Salva.
Modifica le impostazioni della lingua per il pulsante Aggiungi al carrello
Puoi modificare le impostazioni della lingua per il pulsante Aggiungi al carrello per evitare che i prodotti appaiano come Non disponibili prima che un cliente selezioni un prodotto.
Passaggi:
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, quindi clicca su ... > Modifica contenuto tema predefinito.
- Nella barra di ricerca Filtra articoli, inizia a digitare non disponibile per visualizzare la traduzione di Non disponibile.
- Sostituisci il testo Non disponibile con Fai una selezione.
- Clicca su Salva.
Passaggi per Simple
Segui questi passaggi per applicare la personalizzazione a Simple:
Modifica il file JavaScript del tema
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, clicca sul pulsante … per aprire il menu azioni, quindi clicca su Modifica codice.
- Nella directory Risorse, clicca su
theme.js
o sutheme.js.liquid
. -
Trova il codice
initProductVariant: function() {
. Di seguito cerca il codice seguente:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
Slate.simplifyVariantLabels(this.productSingleObject, this.$container);
Aggiungi il codice seguente in una nuova riga sottostante:
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;
}
}
}
Dovrebbe avere un aspetto simile a questo:
// 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;
}
}
}
- Clicca su Salva.
Modifica il modello della pagina del prodotto
Per modificare il modello della pagina del prodotto:
- Nella directory Sezioni, clicca su
product-template.liquid
. - Trova il codice seguente:
{% assign current_variant = product.selected_or_first_available_variant %}
Sostituiscilo con:
{% assign current_variant = product.selected_variant %}
- Trova il codice seguente ed eliminalo:
{% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %}
-
Trova il codice
{% schema %}
. Sopra a questo, incolla il codice seguente su una riga separata:
{% 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 %}
Dovrebbe avere un aspetto simile a questo:
{% 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 %}
- Clicca su Salva.
Modifica le impostazioni della lingua per il pulsante Aggiungi al carrello
Puoi modificare le impostazioni della lingua per il pulsante Aggiungi al carrello per evitare che i prodotti appaiano come Non disponibili prima che un cliente selezioni un prodotto.
Passaggi:
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, quindi clicca su ... > Modifica contenuto tema predefinito.
- Nella barra di ricerca Filtra articoli, inizia a digitare non disponibile per visualizzare la traduzione di Non disponibile.
- Sostituisci il testo Non disponibile con Fai una selezione.
- Clicca su Salva.
Passaggi per Supply
Segui questi passaggi per applicare la personalizzazione a Supply:
Modifica il file JavaScript del tema
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, clicca sul pulsante … per aprire il menu azioni, quindi clicca su Modifica codice.
- Nella directory Risorse, clicca su
theme.js
o sutheme.js.liquid
. -
Trova il codice
initProductVariant: function() {
. Di seguito cerca il codice seguente:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
this.simplifyVariantLabels(this.productSingleObject);
Aggiungi il codice seguente in una nuova riga sottostante:
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;
}
}
}
Dovrebbe avere un aspetto simile a questo:
// 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;
}
}
}
- Clicca su Salva.
Modifica il modello della pagina del prodotto
Per modificare il modello della pagina del prodotto:
- Nella directory Sezioni, clicca su
product-template.liquid
. - Trova il codice seguente:
{% assign variant = product.selected_or_first_available_variant %}
Sostituiscilo con:
{% assign variant = product.selected_variant %}
- Trova il codice seguente ed eliminalo:
{% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %}
- Trova tutte le istanze di questo codice:
{% assign featured_image = product.selected_or_first_available_variant.featured_image | default: product.featured_image %}
Sostituiscilo con:
{% assign featured_image = product.selected_variant.featured_image | default: product.featured_image %}
-
Trova il codice
{% schema %}
. Sopra a questo, incolla il codice seguente su una riga separata:
{% 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 %}
Dovrebbe avere un aspetto simile a questo:
{% 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 %}
- Clicca su Salva.
Modifica le impostazioni della lingua per il pulsante Aggiungi al carrello
Puoi modificare le impostazioni della lingua per il pulsante Aggiungi al carrello per evitare che i prodotti appaiano come Non disponibili prima che un cliente selezioni un prodotto.
Passaggi:
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, quindi clicca su ... > Modifica contenuto tema predefinito.
- Nella barra di ricerca Filtra articoli, inizia a digitare non disponibile per visualizzare la traduzione di Non disponibile.
- Sostituisci il testo Non disponibile con Fai una selezione.
- Clicca su Salva.
Passaggi per Venture
Segui questi passaggi per applicare la personalizzazione a Venture:
Modifica il file JavaScript del tema
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, clicca sul pulsante … per aprire il menu azioni, quindi clicca su Modifica codice.
- Nella directory Risorse, clicca su
theme.js
o sutheme.js.liquid
. - Aggiungi il seguente codice in fondo al file:
(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;
}
}
}
})();
- Trova il codice seguente:
this.currentVariant = this._getVariantFromOptions();
Sostituiscilo con:
this.currentVariant = this._getVariantFromOptions() || {};
-
Trova il codice
_updatePrice: function(variant)
. Sostituiscilo con il codice seguente:
if (
variant.price === this.currentVariant.price &&
variant.compare_at_price === this.currentVariant.compare_at_price
) {
return;
}
con:
/* if (
variant.price === this.currentVariant.price &&
variant.compare_at_price === this.currentVariant.compare_at_price
) {
return;
} */
- Clicca su Salva.
Modifica il modello della pagina del prodotto
Per modificare il modello della pagina del prodotto:
- Nella directory Sezioni, clicca su
product-template.liquid
. - Trova il codice seguente:
{% assign current_variant = product.selected_or_first_available_variant %}
Sostituiscilo con:
{% if product.variants.size > 1 %}
{% assign current_variant = product.selected_variant %}
{% else %}
{% assign current_variant = product.first_available_variant %}
{% endif %}
- Trova il codice seguente ed eliminalo:
{% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %}
Se non riesci a trovare il codice riportato sopra, cerca questo codice ed eliminalo:
{% if variant == current_variant %} selected="selected" {% endif %}
- Trova tutte le istanze di questo codice:
{% unless current_variant.available %}
Sostituiscilo con:
{% unless current_variant.available or product.variants.size == 1 and variant.available %}
- Trova il codice seguente:
{% 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 %}
Sostituiscilo con:
{% 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 %}
-
Trova il codice
{% schema %}
. Sopra a questo, incolla il codice seguente su una riga separata:
{% 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 %}
Dovrebbe avere un aspetto simile a questo:
{% 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 %}
- Clicca su Salva.
Modifica le impostazioni della lingua per il pulsante Aggiungi al carrello
Puoi modificare le impostazioni della lingua per il pulsante Aggiungi al carrello per evitare che i prodotti appaiano come Non disponibili prima che un cliente selezioni un prodotto.
Passaggi:
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, quindi clicca su ... > Modifica contenuto tema predefinito.
- Nella barra di ricerca Filtra articoli, inizia a digitare non disponibile per visualizzare la traduzione di Non disponibile.
- Sostituisci il testo Non disponibile con Fai una selezione.
- Clicca su Salva.
Passaggi per i Temi senza sezioni
Aggiunta di prompt ai menu a discesa delle varianti
- Nella directory Frammenti, clicca su Aggiungi un nuovo frammento.
- Assegna al nuovo frammento il nome
pick-an-option
. - Nel file del nuovo frammento, incolla questo codice ospitato su GitHub.
- Clicca su Salva.
- Nella directory Layout, clicca su
theme.liquid
. -
Trova il tag di chiusura
</body>
in fondo al file. Su una nuova riga proprio sopra il tag di chiusura</body>
, incolla il codice seguente:
{% render 'pick-an-option' %}
- Clicca su Salva.
-
Trova il file che contiene il modulo Aggiungi al carrello. Avrà l’attributo
action
impostato su/cart/add
. Dovrebbe essere in uno di questi quattro file:- modelli
product.liquid
in Modelli - layout
theme.liquid
in Layout - frammento
product.liquid
in Frammenti - frammento
single-product.liquid
in Frammenti
- modelli
Trova questo codice nel modulo:
<option {% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %} data-sku="{{ variant.sku }}" value="{{ variant.id }}">{{ variant.title }} - {{ variant.price | money_with_currency }}</option>
O Trova questo codice nel modulo:
<option {% if variant == current_variant %} selected="selected" {% endif %} data-sku="{{ variant.sku }}" value="{{ variant.id }}">{{ variant.title }} - {{ variant.price | money_with_currency }}</option>
Sostituisci il codice con il seguente blocco di codice:
<option {% if forloop.length <= 1 and variant == product.selected_or_first_available_variant %} selected="selected" {% endif %} data-sku="{{ variant.sku }}" value="{{ variant.id }}">{{ variant.title }} - {{ variant.price | money_with_currency }}</option>
Se utilizzi Minimal, Pop o Supply, trova tutte le istanze di questo codice:
{% assign featured_image = product.selected_or_first_available_variant.featured_image | default: product.featured_image %}
Sostituisci il codice con il seguente blocco di codice:
{% assign featured_image = product.selected_variant.featured_image | default: product.featured_image %}
Se utilizzi un altro tema vintage di Shopify, trova questo codice:
{% assign current_variant = product.selected_or_first_available_variant %}
Sostituisci il codice con il seguente blocco di codice:
{% assign current_variant = product.selected_variant %}
Clicca su Salva.
Modifica le impostazioni della lingua per il pulsante Aggiungi al carrello
Puoi modificare le impostazioni della lingua per il pulsante Aggiungi al carrello per evitare che i prodotti appaiano come Non disponibili prima che un cliente selezioni un prodotto.
Passaggi:
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, quindi clicca su ... > Modifica contenuto tema predefinito.
- Nella barra di ricerca Filtra articoli, inizia a digitare non disponibile per visualizzare la traduzione di Non disponibile.
- Sostituisci il testo Non disponibile con Fai una selezione.
- Clicca su Salva.