Når en kunde besøger en produktside i din webshop, vælges den første tilgængelige variant som standard. Du kan bruge tilpasningen Få dine kunder til at vælge en valgmulighed for at deaktivere det automatiske valg af den første tilgængelige variant. På denne måde bliver kunden bedt om at vælge en variant manuelt, før der vises en variant.
Hvis du bruger tilpasningen Få dine kunder til at vælge en valgmulighed, vil dit tema muligvis ikke vise en produktpris, før kunden har valgt en variant. Produkter med varianter har ikke en tilgængelig pris, og den pris, der vises, afhænger af den variant, der vælges.
Trinnene til denne tilpasning varierer afhængigt af dit tema. Klik på knappen for dit tema, inden du følger vejledningen nedenfor:
Boundless
Trin for Boundless
Følg disse trin for at anvende tilpasningen til Boundless:
Rediger dit temas JavaScript-fil
Gå til Webshop > Temaer i din Shopify-administrator.
Find det tema, du vil redigere, og klik på knappen … for at åbne handlingsmenuen. Klik derefter på Rediger kode.
Klik på theme.js eller theme.js.liquid i mappen Aktiver.
Find koden initVariantSelectors. Find følgende kode nedenfor:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
this.simplifyVariantLabels(this.productSingleObject, this.$container);
Tilføj følgende kode på en ny linje nedenfor:
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;
}
}
}
Den bør se nogenlunde således ud:
// 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;
}
Skift sprogindstillingerne for Læg i indkøbskurven
Du kan ændre sprogindstillingerne for knappen Læg i indstillinger, så produkterne ikke vises som Ikke tilgængelig, før en kunde vælger et produkt.
Trin:
Gå til Webshop > Temaer i din Shopify-administrator.
Find det tema, du vil redigere, og klik derefter på ... > Rediger standardtemaindhold.
Begynd at skrive Ikke tilgængelig i søgelinjen Filtrer varer for at vise oversættelsen Ikke tilgængelig.
Erstat teksten Ikke tilgængelig med Foretag et valg.
Klik på Gem.
Minimal
Trin for Minimal
Følg disse trin for at anvende tilpasningen til Minimal:
Rediger dit temas JavaScript-fil
Gå til Webshop > Temaer i din Shopify-administrator.
Find det tema, du vil redigere, og klik på knappen … for at åbne handlingsmenuen. Klik derefter på Rediger kode.
Klik på theme.js eller theme.js.liquid i mappen Aktiver.
Find koden initProductVariant: function() {. Find følgende kode nedenfor:
// 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();
}
Tilføj følgende kode på en ny linje nedenfor:
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;
}
}
}
Den bør se nogenlunde således ud:
// 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;
}
Find koden {% schema %}. Indsæt følgende kode på en separat linje over dette:
{% 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 %}
Den bør se nogenlunde således ud:
{% 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 %}
Klik på Gem.
Skift sprogindstillingerne for Læg i indkøbskurven
Du kan ændre sprogindstillingerne for knappen Læg i indstillinger, så produkterne ikke vises som Ikke tilgængelig, før en kunde vælger et produkt.
Trin:
Gå til Webshop > Temaer i din Shopify-administrator.
Find det tema, du vil redigere, og klik derefter på ... > Rediger standardtemaindhold.
Begynd at skrive Ikke tilgængelig i søgelinjen Filtrer varer for at vise oversættelsen Ikke tilgængelig.
Erstat teksten Ikke tilgængelig med Foretag et valg.
Klik på Gem.
Simple
Trin for Simple
Følg disse trin for at anvende tilpasningen til Simple:
Rediger dit temas JavaScript-fil
Gå til Webshop > Temaer i din Shopify-administrator.
Find det tema, du vil redigere, og klik på knappen … for at åbne handlingsmenuen. Klik derefter på Rediger kode.
Klik på theme.js eller theme.js.liquid i mappen Aktiver.
Find koden initProductVariant: function() {. Find følgende kode nedenfor:
// Clean up variant labels if the Shopify-defined
// defaults are the only ones left
Slate.simplifyVariantLabels(this.productSingleObject, this.$container);
Tilføj følgende kode på en ny linje nedenfor:
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;
}
}
}
Den bør se nogenlunde således ud:
// 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;
}
Find det afsluttende </body>-tag tæt på bunden af filen. Indsæt følgende kode på en ny linje lige over det afsluttende </body>-tag:
{% render 'pick-an-option' %}
Klik på Gem.
Find filen, der indeholder Læg i indkøbskurven-formularen. Den vil have en action-attribut, der er indstillet til /cart/add. Den skal være i en af disse fire filer:
product.liquid-skabelonen under Skabeloner
theme.liquid-layoutet under Layout
product.liquid-kodestykket under Kodestykker
single-product.liquid-kodestykket under Kodestykker