Produkt mit abhängigen Varianten direkt von der Kategorie oder Suche aus in die Merkliste legen

Normalerweise sind Produkte nicht direkt von der Kategorie oder einer Suchergebnis-Liste aus bestellbar, wenn diese Produkte über Varianten verfügen. Der Shop muss erst einmal wissen, welche Variante denn gemeint ist. Eine vorherige Auswahl von Farbe und Größe funktioniert jedoch nicht auf Produktlisten.

Dasselbe Problem besteht bei der Merkliste: Ein Produkt mit Varianten kann ein Käufer nur auf die Merkliste legen, wenn er sich zuvor für eine Variante entschieden hat.

Um dieses Problem zu umgehen und zu ermöglichen, ein Varianten-Produkt direkt auf die Merkliste zu legen, wird im folgenden Code-Beispiel die erste technisch verfügbare Variante im Hintergrund geladen. Damit ist etwas gewählt, und man kann es dann auch von einer Produktliste auf die Merkliste legen.

Codebeispiel:

...
<form action="~FORM-Product~" method="Post" name="product" 
       id="productform_~PR-ProdIndex~" itemscope itemtype="http://schema.org/Product">
  <div class="thumbnail catproduct">
    .....
    {!PR-SetParent}
        {!DC-FP2(TplMemolist)}
            {!PR-DepVariations}
                {ST-DepVar_OK}
                <div style="display: none"><input class="quantity-input" type="text" name="~PR-Quantity_Input~" value="1"></div>
                {/ST-DepVar_OK}
            {/!PR-DepVariations}
 
            {PR-DepVariations}
                {!ST-DepVar_OK}
                    <!--PR-DepVariations und Input Quantity type=hidden werden benötigt, 
                            um Varianten-Produkte auf die Merkliste zu legen -->
                    {PR-DepVariations}
                    <div style="display: none"><input type="hidden" name="~PR-Quantity_Input~" value="1">~PR-DepVariations~</div>
                    {/PR-DepVariations}
                {/!ST-DepVar_OK}
            {/PR-DepVariations}
 
            <!-- Für FACT-Finder ws_search.htm haben wir hier die Merkliste-Buttons ausgenommen - Erklärung siehe unten im Text-->
           {DC-FPPage(FACT-Finder)}{!PR-DepVariations}{/DC-FPPage(FACT-Finder)}
             {!PR-SetParent}
               <div id="AddToMemolist">
                {ST-Ajax}<WS-Ajax-AddToMemolist>{/ST-Ajax}
                  <a type=submit  name="~BT-Memolist~" data-ws-ajax="memolist"><span class="memolist-icon"></span></a>
                {ST-Ajax}</WS-Ajax-AddToMemolist>{/ST-Ajax}
               </div>
              {/!PR-SetParent}
               {DC-FPPage(FACT-Finder)}{/!PR-DepVariations}{/DC-FPPage(FACT-Finder)}
              {/!DC-FP2(TplMemolist)}
    {/!PR-SetParent}
    ...
    </div>
</form>

Zusätzlich muss im Header des Templates eine Konfiguration definieren, dass alle Varianten geladen werden. Ansonsten wird nur die erste Tabelle geladen:

<!--{WS-Config}
         MAXSeparatedDepVariations    = 100
         ShowAllDepVariations-Allow   = yes
{/WS-Config}-->

 

Funktioniert nicht mit FACT-Finder Web Components

Bei Verwendung der FACT-Finder Web-Components funktioniert die oben dargestellte Lösung nicht mehr auf der Suche.

Da bei der Integration von FACT-Finder Web-Components die Suche extern über Ajax auf das Template geladen wird, erscheinen die Produktdaten dort erst weiter unten.

Dadurch wird die Konfiguration im Header übergangen, und die Varianten können in der Produktbox weiter unten nicht geladen werden. Da der Parser den betreffenden Code nicht noch einmal durchgeht, wird der Code nicht umgesetzt.

Wenn Sie in Ihrem Shop also FACT-Finder Web-Components integriert haben, deaktivieren Sie vorerst die Suche für Varianten-Produkte, wie oben im Code gezeigt.

Wegweiser: Merkliste

Wegweiser: Integration der FACT-Finder-Suchfunktion

Referenz: PR-DepVariations

Referenz: DC-FPX

Referenz: PR-SetParent

Referenz: WS-Config