Hi allerseits,
wir bieten zu bestimmten Artikeln günstige Proben. Diese sind als Attribut hinterlegt (Attribute: Probe, Optionswert: Probe), werden versteckt eingebunden und über einen Button "Probe bestellen" per JS in den Warenkorb getan. Die Proben selbst kosten nichts und haben eine Versandpauschale von 5,-€ mittels eines speziellen Versandmoduls.
Nun möchte ich aber die Anzahl der Proben auf 10 Stück begrenzen, pro Bestellung.
Ich habe es bisher über Smarty in der /templates/TEMPLATE/module/order_details.html so geregelt, dass ein Zähler {assign var="zaehler" value=0 nocache} während des Aufbaus der Artikelliste im Warenkorb hoch läuft:
{foreach key=key_data item
=item_data from
=$module_data.ATTRIBUTES
} [...]{if $item_data.NAME
=='Probe'} {assign
var=zaehler value
=$zaehler+1}{/if}{/foreach} Am Ende wird dann eine Warnung für den Kunden ausgeworfen:
{if $zaehler>10}
...warnung wegen zu vieler Proben...
{/if}
Nicht schön, aber es hat im Alltag schon mal geholfen. Allerdings kann man so praktisch noch mehr als 10 Proben bestellen, weil das technisch de facto ja nur ein Hinweis ist.
Ich weiß, man müsste das wohl eigentlich in PHP machen, aber da kenne ich eher nur die Grundlagen und wüsste nicht, wo ich das am besten wie mache. Oder gibt es vielleicht die Möglichkeit die Smarty-Variable $zaehler an die shopping_cart.html zu übergeben, sodass ich per IF-THEN-ELSE die Bestellbuttons ausblende?
Ich habe in Tutorials etc. nichts gefunden. Habs versucht per PHP in Smarty der $_SESSION zu zuweisen und die $smarty.session.cart durchsucht, aber nix passendes gefunden. Man sieht, ich habe keine Ahnung.
PS: Hab auch nichts hier im Forum gefunden. Nur wie man die Gesamtanzahl der Artikel begrenzt oder andere Versandmodule dafür zweckentfremdet,was bei mir leider nicht geht.
Linkback: https://www.modified-shop.org/forum/index.php?topic=34459.0