Shop: Mehrdimensionale Varianten und Preismanipulation

Hier können Sie Fragen bezüglich des Shop Moduls stellen.
dehrich
Member
Beiträge: 44
Registriert: Mo 2. Dez 2013, 17:36

Shop: Mehrdimensionale Varianten und Preismanipulation

Beitragvon dehrich » Fr 24. Mär 2017, 15:27

Hallo,

wie im webEdition Buch beschrieben habe ich Produkte mit mehrdimensionalen Varianten erstellt.

Varianten sind hier einmal die Größe sowie die Farbe (beide Felder beeinflussen den Preis). Auf Produktebene funktioniert die Ausgabe wunderbar, sodass sich alles miteinander bedingt. Die Produkte sind als Objekte angelegt, die Farbe als Multiobjekte. Somit sind in den Multiobjekten der Farbe sämtliche Preise zu den verschiedenen Größen hinterlegt.

Beim "In den Warenkorb legen" habe ich nun das Problem, dass die Preise der Variantenfeldern der Farbe nicht in den Warenkorb gelegt werden.

Dazu hatte ich folgende Lösungsansätze:

Variante 1

Hier sollte der Preis erst im Warenkorb manipuliert werden, indem ich die Objekt-ID des Multiobjekts nehme und innerhalb von <we:repeatShopItem shopname="shop"> per Listview die Variante suche und den Preis daraus hole.

Code: Alles auswählen

	<we:repeatShopItem shopname="shop">
		<we:listview type="multiobject" name="colorVariant">
			<we:repeat>
				... // Hier kommt es zu einen Timeout, genauso wie bei der Variante mit <we:object id="">
			</we:repeat>
		</we:listview>
	</we:repeatShopItem>

Variante 2

Hier sollte der Preis bereits manipuliert werden bevor das Produkt im Warenkorb landet. Dazu sollte der Tag <we:shopField /> dienen.

Code: Alles auswählen

<we:form id="$cart" nameid="toCart" method="post">
	<input type="hidden" name="shop_anzahl" value="1" />
	<input type="hidden" value="o" name="type"/>
	<input type="hidden" value="<?php echo $GLOBALS['we_doc']->OF_ID; ?>" name="shop_artikelid"/>
	<input type="hidden" value="<?php echo time();?>" name="t"/>
   
	<input type="hidden" value="<?php echo $objID;?>" name="we_sacf[colorVariantID]"/>     

	<we:listview type="shopVariant" objectid="$objID">
		<we:repeat>

			<input type="hidden" value="<we:field name="WE_VARIANT"/>" name="we_variant"/>  

			<we:field type="float" name="price" to="global" nameto="price"/>
			<we:shopField name="we_price" reference="article" shopname="shop" value="$price"/>   
		</we:repeat>
	</we:listview>
	<button type="submit" class="btn btn-primary">In den Warenkorb</button>
</we:form>
In dieser Form wird der richtige Preis in den Warenkorb gelegt, da ja der eigentliche Preis ausgetauscht wird. Nun ist aber logischerweise das Problem, dass der tag <we:shopField /> ein Eingabefeld erzeugt, welches auch durch den Nutzer verändert werden kann.


Gibt es hier vielleicht Lösungsansätze oder derartiges? Im webEdition Buch ist leider nicht beschrieben wie man Multidimensionale Varianten in den Warenkorb legt, sodass auch der Preis stimmt.

AndreasWitt

Re: Shop: Mehrdimensionale Varianten und Preismanipulation

Beitragvon AndreasWitt » Fr 24. Mär 2017, 15:43

@dehrich: warum legst du denn nicht die korrekte Variante mit dem korrekten Preis in den Warenkorb. Jede Variante hat doch auch einen Preis bzw. sollten die Objekte "Farbe" auch ein Feld Preis haben.

Ansonsten kannst du auch:

Code: Alles auswählen

<we:shopField type="hidden"/>
nutzen.

dehrich
Member
Beiträge: 44
Registriert: Mo 2. Dez 2013, 17:36

Re: Shop: Mehrdimensionale Varianten und Preismanipulation

Beitragvon dehrich » Fr 24. Mär 2017, 16:46

Die Objekte "Farbe" haben auch ein Feld Preis. allerdings sollte ja immer das Hauptprodukt, und nicht die Variante in den Warenkorb gelegt werden, wenn ich das richtig verstanden habe?

Über das Formular muss ich ja irgendwie sagen welche Variante in den Warenkorb soll, oder denke ich hier falsch?

Vielen Dank für den Tipp, aber

Code: Alles auswählen

<we:shopField type="hidden"/>
habe ich bereits versucht, allerdings gibt webEdition hier ein HTML Tag <hidden /> aus, welches vom Formular anscheinend nicht ausgewertet wird, da es nicht übernommen wird.


Zurück zu „Shop Modul“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste