2017-07-24 2 views
1

Ich habe ein Thema auf Shopify Slate gebaut. Alle meine Produkte haben verschiedene Größen- und Farbvarianten. Diese werden auf der Seite als zwei Auswahlelemente ausgegeben - eines für die Größe und eines für die Farbe. Wenn ich Optionen aus diesen beiden Auswahlfeldern auswähle und mein Produkt zum Warenkorb hinzufüge, wird immer die Standardvariante hinzugefügt.Shopify Slate Variante nicht aktualisiert

Dies ist die Variante Code in meinem product.liquid Abschnitt:

{% unless product.has_only_default_variant %} 
    {% for option in product.options_with_values %} 
     <div class="selector-wrapper js"> 
      <label for="SingleOptionSelector-{{ forloop.index0 }}"> 
       {{ option.name }} 
      </label> 

      <select id="SingleOptionSelector-{{ forloop.index0 }}" 
      class="single-option-selector" data-single-option-selector data-index="option{{ option.position }}"> 
       {% for value in option.values %} 
        <option 
         value="{{ value | escape }}" 
         {% if option.selected_value == value %}selected="selected"{% endif %}> 
         {{ value }} 
        </option> 
       {% endfor %} 
      </select> 
     </div> 
    {% endfor %} 
{% endunless %} 

<select name="id" class="" data-product-select> 
    {% for variant in product.variants %} 
     <option 
     {% if variant == current_variant %}selected="selected"{% endif %} 
     {% unless variant.available %}disabled="disabled"{% endunless %} 
     value="{{ variant.id }}"> 
      {{ variant.title }} 
     </option> 
    {% endfor %} 
</select> 

Durch das Aussehen des Codes in variant.js und product.js, werden die Werte aus den ersten beiden wählt soll verwendet werden um den letzten zu aktualisieren, aber aus irgendeinem Grund passiert das nicht. Der Code in diesen zwei Dateien wurde nicht geändert, und ich bekomme keine JS-Fehler in der Konsole, also bin ich etwas verloren!

+0

teilen sich die Schaufenster URL. Stellen Sie sicher, dass es nicht passwortgeschützt ist. –

+0

Leider wird der Client mich nicht veröffentlichen lassen, bis die Seite fertig ist. Ich weiß, dass das die Dinge schwieriger macht, aber ich freue mich, den Code zu posten, den du sehen willst, wenn das hilft? – Infobahn

Antwort

0

Stellen Sie sicher, dass Ihre gesamte Abschnitt (außer schema) in

<div data-section-id="{{ section.id }}" data-section-type="product" data-enable-history-state="true" itemscope itemtype="http://schema.org/Product"> 

gewickelt ist und Sie Ihr Produkt Objekt json zu Schiefer Skripte übergeben

<script type="application/json" data-product-json> 
     {{ product | json }} 
</script> 
Verwandte Themen