Dölj utsålda varianter

Du kan förhindra att kunder väljer utsålda varianter genom att ta bort eller inaktivera dessa varianter på produktsidan.

Begränsningar

De anpassningar som beskrivs på den här sidan fungerar inte i följande fall:

  • Dina produkter har mer än ett produktalternativ
  • Du använder temat Express och har ställt in produktsidan till att visa produkter i en överlagring

Avsnitt och icke-sektionerade teman

Obs! Stegen i den här handledningen varierar beroende på om du använder ett tema med avsnitt eller ett tema utan avsnitt. Med ett tema med avsnitt kan du dra och släppa för att arrangera layouten på din startsida, men inte med ett tema utan avsnitt.

Gå till temasidan Redigera kod för att ta reda på om ditt tema stöder avsnitt. Om det finns filer i Avsnittskatalogen använder du ett avgränsat tema. Icke-sektionerade teman släpptes före oktober 2016 och har inga filer i Avsnittskatalogen.

Om du använder ett avgränsat tema klickar du på knappen Avgränsade teman-knapp och följer anvisningarna. Om du använder ett äldre, icke-avsnittsbaserat tema klickar du på knappen Icke-avgränsade teman och följer anvisningarna.

Steg för indelade teman

Välj ditt tema

Stegen för denna anpassning varierar beroende på ditt tema. Klicka på knappen för ditt tema innan du följer anvisningarna nedan:

Steg för icke-indelade teman

Dölj utsålda varianter

Om du använder ett tema utan avsnitt kan du följa dessa steg för att dölja slutsålda varianter på produktsidan.

  1. Från din Shopify-admin går du till Webbshop > Teman.
  2. Hitta det tema du vill redigera, klicka på knappen för att öppna åtgärdsmenyn och klicka sedan på Redigera kod.
  3. Klicka på Lägg till en ny snippet i katalogen Snippets.
  4. Döp ditt nya fragment remove-sold-out:
    Add new snippet
  5. Klistra in följande kod i din nya fragmentfil:
{% if product.options.size == 1 %}
<script>
  const addToCartForm = document.querySelector('form[action="/cart/add"]');
  if (window.MutationObserver && addToCartForm !== null) {
    if (typeof observer === 'object' && typeof observer.disconnect === 'function') {
      observer.disconnect();
    }
    var config = { childList: true, subtree: true };
    var observer = new MutationObserver(function() {
      let variantOptions = Array.from(document.querySelectorAll('.single-option-selector option'));
      {% for variant in product.variants %}
      {% unless variant.available %}
      variantOptions.forEach(function(element) {
        if (element.value === {{ variant.title | json }}) {
            element.remove();
        }
      });
      {% endunless %}
      {% endfor %}
      observer.disconnect();
    });
    observer.observe(addToCartForm, config);
  }
</script>
{% endif %}
  1. Klicka på Spara.
  2. Klicka på theme.liquid i Layout-registret
  3. I slutet av filen, precis före den avslutande </body>-taggen, klistrar du in följande kod:
{% render 'remove-sold-out' %}
  1. Klicka på Spara.

Inaktivera utsålda varianter

Om du använder tema utan avsnitt kan du följa dessa steg för att inaktivera slutsålda varianter. Varianterna visas fortfarande på produktsidan, men de kan inte väljas.

  1. Från din Shopify-admin går du till Webbshop > Teman.
  2. Hitta det tema du vill redigera, klicka på knappen för att öppna åtgärdsmenyn och klicka sedan på Redigera kod.
  3. Klicka på Lägg till en ny snippet i katalogen Snippets.
  4. Döp ditt nya fragment disable-sold-out:
    Add new snippet
  5. Klistra in följande kod i din nya fragmentfil:
{% if product.options.size == 1 %}
<script>
  const addToCartForm = document.querySelector('form[action="/cart/add"]');
  if (window.MutationObserver && addToCartForm !== null) {
    if (typeof observer === 'object' && typeof observer.disconnect === 'function') {
      observer.disconnect();
    }
    var config = { childList: true, subtree: true };
    var observer = new MutationObserver(function() {
      let variantOptions = Array.from(document.querySelectorAll('.single-option-selector option'));
      {% for variant in product.variants %}
      {% unless variant.available %}
      variantOptions.forEach(function(element) {
        if (element.value === {{ variant.title | json }}) {
            element.setAttribute('disabled', '');
        }
      });
      {% endunless %}
      {% endfor %}
      observer.disconnect();
    });
    observer.observe(addToCartForm, config);
  }
</script>
{% endif %}
  1. Klicka på Spara.
  2. Klicka på theme.liquid i Layout-registret
  3. I slutet av filen, precis före den avslutande </body>-taggen, klistrar du in följande kod:
{% render 'disable-sold-out' %}
  1. Klicka på Spara.

Är du redo att börja sälja med Shopify?

Prova gratis