Keine Varianten-Darstellung

Hi Leute…

ich versuche jetz schon seit knapp 5 Stunden meine Varianten eines Artikel anzeigen zu lassen! Hier mal der Code in der details.tpl:

[I][{if $oView->getSelectLists() }]
[{foreach key=iSel from=$oView->getSelectLists() item=oList}]
<div class=“variants”>
<label>[{ $oList.name }]:</label>
<select id=“test_select_[{$product->oxarticles__oxid->value}]_[{$iSel}]” name=“sel[[{$iSel}]]” onchange=“oxid.sellist.set(this.name,this.value);”>
[{foreach key=iSelIdx from=$oList item=oSelItem}]
[{ if $oSelItem->name }]<option value="[{$iSelIdx}]">[{ $oSelItem->name }]</option>[{/if}]
[{/foreach}]
</select>
</div>
[{/foreach}]
[{/if}][/I]

Genau so steht er in der Datei, nur wird nichts ausgegeben. Ich hab mir auch mal die 4.2er-details.tpl angeschaut. Genau bei diesem Abschnitt hat sich nichts geändert! Woran könnte es noch liegen? Im Backend gibt es ja nur die Möglichkeit Varianten in der Auflistung mitzuladen. Sonst gibt es da ja keinen Button, oder?

Grüße im Voraus!

Wenn ich in der Liste auf den tocart-Button klicke, zeigt mir der shop eine errorbox: ‘Artikel ist nicht kaufbar’. Ich hab allen Varianten 9999999 Lagerbestand und sogar dem Vaterartikel 9999999 Lagerbestand gegeben…woran könnte es noch liegen?

Gruß Valero

Hallo Valero,

Varianten eines Artikels werden per default dargestellt, z.B. hier:
http://demoshop.oxid-esales.com/community-edition/Geschenke/Wohnen/Tischlampe-SPHERE.html

Der Vaterartikel könnte z.B. als nicht kaufbar im Admin deklariert werden. Dann sollte aber kein tocart-Button angezeigt werden.

Gruß

Hi,

ich hab es mittlerweile soweit hinbekommen, dass ich per DropDown die Varianten auswählen kann und durch ‘kaufbar’ bei Vaterartikel auch den POST in den Warenkorb hingekriegt. Jetz noch folgendes Problem:

Wir wollen Bilder auf Leinwand in verschiedenen Größen verkaufen und hier soll im DropDown der Vaterartikel-Preis weg. Wo kann ich das ausklammern?

Gruß Valero

##############################

Ich hab’s gefunden! :slight_smile:

In der details.tpl einfach folgenden Code einbauen, an der Stelle, wo man die Auswahlliste haben möchte:

[I]<!-- Variantenauswahlliste -->[/I]


[{ if $product->getVariantList() }]
	<label>[{ $product->oxarticles__oxvarname->value }] :<br /></label>
	<select id="test_varSelect_[{$testid}]" name="aid"> [{ if !$product->isParentNotBuyable()}]
		<!--<option value="[{$product->sOXID}]">
			[{ $product->oxarticles__oxvarselect->value }]
			[{oxhasrights ident="SHOWARTICLEPRICE"}]
			[{ $product->getFPrice() }]
			[{ $currency->sign|strip_tags}]
			[{/oxhasrights}]
		</option>-->
[{/if}] [{foreach from=$product->getVariantList() item=variant}]
		<option value="[{$variant->sOXID}]">
			[{ $variant->oxarticles__oxvarselect->value }]
			[{oxhasrights ident="SHOWARTICLEPRICE"}]
			[{ $variant->getFPrice() }]
			[{ $currency->sign|strip_tags}]
			[{/oxhasrights}]
		</option>
	[{/foreach}]
	</select>
[{elseif $product->getDispSelList()}]
[{foreach key=iSel from=$product->selectlist item=oList}]
	<label>[{ $oList.name }] :<br /></label>
	<select id="test_sellist_[{$testid}]_[{$iSel}]" name="sel[[{$iSel}]]" onchange="JavaScript:setSellList(this);">
		[{foreach key=iSelIdx from=$oList item=oSelItem}]
		[{ if $oSelItem->name }]
		<option value="[{$iSelIdx}]"[{if $oSelItem->selected }]SELECTED[{/if }]>
			[{ $oSelItem->name }]
		</option>
		[{/if}]
		[{/foreach}]
	</select>
	[{/foreach}]
[{/if}]

Dann noch den Vaterartikel auf kaufbar setzen: [I]Stammdaten/Grundeinstellungen/System/Varianten[/I]

Und schon hat man eine schöne DropDown-Auswahl der Varianten…

Grüßle.

Hallo Valero,

vielen Dank für die Rückmeldung und den Code :slight_smile:
Ich hab übrigens noch an der Formatierung rumgefrosch, wie Du vielleicht siehst.

Gruß

[QUOTE=Marco Steinhäuser;17711][…]Ich hab übrigens noch an der Formatierung rumgefrosch, wie Du vielleicht siehst.

Gruß[/QUOTE]

Iss ja gut! Im Eifer des Gefechts, vergisst man sowas halt mal! :wink:

[QUOTE=valero;17717]Iss ja gut! Im Eifer des Gefechts, vergisst man sowas halt mal! ;)[/QUOTE]

Nee, das war gar kein Vorwurf sondern nur “Bescheid”.

Gruß

Hier mal noch ein Beispiel für die Darstellung: Link

[QUOTE=valero;17703]Hi,

ich hab es mittlerweile soweit hinbekommen, dass ich per DropDown die Varianten auswählen kann und durch ‘kaufbar’ bei Vaterartikel auch den POST in den Warenkorb hingekriegt. Jetz noch folgendes Problem:

Wir wollen Bilder auf Leinwand in verschiedenen Größen verkaufen und hier soll im DropDown der Vaterartikel-Preis weg. Wo kann ich das ausklammern?

Gruß Valero

##############################

Ich hab’s gefunden! :slight_smile:

In der details.tpl einfach folgenden Code einbauen, an der Stelle, wo man die Auswahlliste haben möchte:

[I]<!-- Variantenauswahlliste -->[/I]


[{ if $product->getVariantList() }]
	<label>[{ $product->oxarticles__oxvarname->value }] :<br /></label>
	<select id="test_varSelect_[{$testid}]" name="aid"> [{ if !$product->isParentNotBuyable()}]
		<!--<option value="[{$product->sOXID}]">
			[{ $product->oxarticles__oxvarselect->value }]
			[{oxhasrights ident="SHOWARTICLEPRICE"}]
			[{ $product->getFPrice() }]
			[{ $currency->sign|strip_tags}]
			[{/oxhasrights}]
		</option>-->
[{/if}] [{foreach from=$product->getVariantList() item=variant}]
		<option value="[{$variant->sOXID}]">
			[{ $variant->oxarticles__oxvarselect->value }]
			[{oxhasrights ident="SHOWARTICLEPRICE"}]
			[{ $variant->getFPrice() }]
			[{ $currency->sign|strip_tags}]
			[{/oxhasrights}]
		</option>
	[{/foreach}]
	</select>
[{elseif $product->getDispSelList()}]
[{foreach key=iSel from=$product->selectlist item=oList}]
	<label>[{ $oList.name }] :<br /></label>
	<select id="test_sellist_[{$testid}]_[{$iSel}]" name="sel[[{$iSel}]]" onchange="JavaScript:setSellList(this);">
		[{foreach key=iSelIdx from=$oList item=oSelItem}]
		[{ if $oSelItem->name }]
		<option value="[{$iSelIdx}]"[{if $oSelItem->selected }]SELECTED[{/if }]>
			[{ $oSelItem->name }]
		</option>
		[{/if}]
		[{/foreach}]
	</select>
	[{/foreach}]
[{/if}]

Dann noch den Vaterartikel auf kaufbar setzen: [I]Stammdaten/Grundeinstellungen/System/Varianten[/I]

Und schon hat man eine schöne DropDown-Auswahl der Varianten…

Grüßle.[/QUOTE]

Das funktioniert bei mir in den ARTIKELDETAILS aber nicht.

Und nu?

[QUOTE=Priester;22373]Das funktioniert bei mir in den ARTIKELDETAILS aber nicht.

Und nu?[/QUOTE]

So. Haben jetzt folgenden Code in das details.tpl unter dem Bereich “Pricealarm” gesetzt.Der Text sowie der Preis wird dementsprechent angezeigt was man in den Varianten angelegt hat.

<div class="product_variant">
[{ $product->oxarticles__oxvarname->value }] :
<br>
<select name="aid" class="variant_select" onChange="if(this.options[this.selectedIndex].value != '--'){location.href = this.options[this.selectedIndex].value}">
<option value="--">Bitte wählen Sie aus</option>
<option value="--">----------------------</option>
[{foreach from=$variants item=variant}]
<option value="[{$shop->selflink}]cl=details&anid=[{$variant->sOXID}]&cnid=[{ $shop->cnid }]">[{ $variant->oxarticles__oxvarselect->value }]</option>
[{/foreach}]
</select>
</div>

Kann mir jemand noch sagen was ich ändern muss damit keine Auswahlbox erscheint wenn ein Artikel keine Varianten hat?

Grüße
Richard

So…soll ja niemand behaupten ich sei faul und will immer alles fertig vorm Latz bekommen. Habe heute mich mit der product.tpl und details.tpl beschäftig. Man staune…in 5 Stunden ( bin kein Programmierer )hab ich es geschaft dass in den Artikeldetails die Variantenbox erscheint und funktioniert.

Für alle die dies auch so haben möchten hab ich unten die zip angehängt.

So, jetzt widme ich mich meinem nächsten Problem.

Grüße
Richard