Bei Vartianten läßt sich nur eine Auswahl treffen

Hallo!

Bei eingestellten Vartianten läßt sich nur eine Auswahl treffen. Die andere springt immer zurück. In der Browser Console habe ich jetzt "Found 33 elements with non-unique id #am_: " gesehen. Kann das daran liegen? Die OXID Version ist 4.10.7.

nein, daran liegt es nicht. Irgendwelche Module? Custom Theme? Wenn ja, geht es im original Theme?

Es liegt an dem folgenden Block, der mir die Varianten nochmal einzeln auflistet:

[{if $products|@count gt 0}]
<div id="variants_l">
    <ul class="[{$type}]View clear variants_list" id="[{$listId}]"> 
        [{assign var="currency" value=$oView->getActCurrency() }] 
        [{foreach from=$products item=_product name=productlist}] 
            [{assign var="_sTestId" value=$listId|cat:"_"|cat:$smarty.foreach.productlist.iteration}] 
            <li class="productData"> 
                [{oxid_include_widget cl="oxwArticleBox" _parent=$oView->getClassName() nocookie=1 _navurlparams=$oViewConf->getNavUrlParams() iLinkType=$_product->getLinkType() _object=$_product anid=$_product->getId() sWidgetType=product sListType=listitem_$type iIndex=$_sTestId blDisableToCart=$blDisableToCart isVatIncluded=$oView->isVatIncluded() showMainLink=$showMainLink recommid=$recommid owishid=$owishid toBasketFunction=$toBasketFunction removeFunction=$removeFunction altproduct=$altproduct inlist=$_product->isInList() skipESIforUser=1}] 
            </li> 
            [{if ($type eq "infogrid" AND ($smarty.foreach.productlist.last) AND ($smarty.foreach.productlist.iteration % 2 != 0 )) }] 
                <li class="productData"></li> 
            [{/if}] 
        [{/foreach}] 
    </ul> 
    </div>
[{/if}]    

Warum weiss ich allerdings nicht.,.

Das findet sich so aber nicht in Flow. Dann wirst die Varianten wohl über Script in den Warenkorb legen wollen und bei Diir fehlt der Counter hinter #am_, um die Inputfelder der Menge eindeutig zu machen. Deswegen die Fehlerausgabe. Ich glaube, da haben wir vor einigen Jahren schonmal drüber “gesprochen”.

Ja, das ist ein custom Code-Schnipsel. Funktuoniet auch bei einer Variante, aber anscheinend nicht bei zwei.

Klar, bei einer Variante ist #am_ in Ordnung. Bei 2 Werten kommt die ID #am_ doppelt vor, und daran stört sich JS, jQuery gerne. Eine ID darf nur einmal vorkommen. Hinter “#am_” muss ein Counter stehen. Kannst ja mal schauen, ob das im Quelltext findest.

Ok, ich glaube das kriege ich erstmal nicht hin.


Nachtrag.:Hinter “#am_” kann natürlich z.B. auch die ID einer Variante (oxid) stehen. Die ID #am_xxx wäre dann natürlich ebenso eindeutig.