Hallo zusammen,
ich betreibe einen oxid Shop und habe verschiedene Artikel in das System eingepflegt. Jetzt habe ich das Problem, dass einige Artikel Varianten haben, diese jedoch nicht ausgegeben werden. Ich habe in das Template einen else Fall eingebaut, dass “Keine Varianten” ausgegeben wird wenn eben keine vorhanden sind.
Es wird aber auch “Keine Varianten” ausgegeben wenn Varianten verfügbar sind. Wie gesagt tritt dieser Fehler nicht immer auf und habe jetzt schon lange versucht zu gucken was diese Artikel unterscheidet, jedoch keine Antwort gefunden. Ich hoffe jemand von euch kann eventuell mehr dazu sagen.
LG & Danke
Friedrich
Hallo Friedrich,
per default werden im Shop keine Varianten ausgegeben, wenn keine verfügbar sind. Ohne Deinen Code hier zu posten, wird Dir hier niemand helfen können.
Gruß
Also ich habe jetzt weiter debugt und habe festgestellt, dass einer meiner Programmierer wohl einen Bug eingebaut hat. Er hat bei dem Template, dass er programmieren sollte folgenden Code programmiert (Variantenauswahl):
[{if $oView->getSelectLists()}]
[{foreach key=iSel from=$oView->getSelectLists() item=oList}]
<div class="variants">
<label>[{$oList.name}]:</label>
[{assign var="oListCheckedItem" value="0"}]
[{foreach key=iSelIdx from=$oList item=oSelItem}]
[{if $oSelItem->name}]
<input type="radio" id="rb_[{$iSel}]_[{$iSelIdx}]" name="sel[[{$iSel}]]" value="[{$iSelIdx}]"[{if $oListCheckedItem=="0"}] checked="checked"[{assign var="oListCheckedItem" value="1"}][{/if}] onchange="oxid.sellist.set(this.name,this.value);" />
<label class="rb" for="rb_[{$iSel}]_[{$iSelIdx}]">[{$oSelItem->name}]</label>
<br />
[{/if}]
[{/foreach}]
</div>
[{/foreach}]
[{/if}]
Jetzt habe ich diesen Code Abschnitt durch folgendes ersetzt:
[{if $oView->getVariantList()}]
<div class="variants">
[{foreach key=iSel from=$oView->getSelectLists() item=oList}]
<label>[{$oList.name}]:</label><br>
[{/foreach}]
[{assign var="oListCheckedItem" value="0"}]
[{foreach key=iSelIdx from=$oView->getVariantList() item=oList}]
<input type="radio" id="rb_[{$oList->getId()}]" name="sel[[{$iSel}]]" value="[{$iSelIdx}]"[{if $oListCheckedItem=="0"}] checked="checked"[{assign var="oListCheckedItem" value="1"}][{/if}] onchange="oxid.sellist.set(this.name,this.value);" />
<label class="rb" for="rb_[{$iSel}]_[{$iSelIdx}]">[{ $oList->oxarticles__oxvarselect->value }]</label>
<br />
[{/foreach}]
</div>
[{/if}]
Das funktioniert grundsätzlich schon mal besser, aber immer noch nicht ganz wie es soll. Desweiteren gibts im azure tpl auch noch eine zweite Auswahl (Farbauswahl), die aber im Basic tpl nicht ist. Jedoch wurde mein template vom basic template abgeleitet. Kann wir einer verraten wieso das so ist oder wie ich das löse? Vielen Dank im vorraus