Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Summe bestimmter Artikel-Varianten in Warenkorb ausgeben

    Parker

    • Mitglied
    • Beiträge: 135
    • Geschlecht:
    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:
    Code: PHP  [Auswählen]
    {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:
    Code: PHP  [Auswählen]
    {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

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Summe bestimmter Artikel-Varianten in Warenkorb ausgeben
    Antwort #1 am: 26. Februar 2016, 17:25:01
    Dazu kann man dir aus dem Stegreif leider keine Anleitung geben, das ist ein wenig komplexer.
    Wenn du dich selbst damit beschäftigen möchtest:
    Im Warenkorb gibt es ein hidden input field mit name="products_id[].
    Im value des fields steht sowas wie das 1{1}19.
    • 1 wäre hier die products_id
    • {1} wäre die Options-ID
    • 19 wäre der value der Option

    Mit der ID der Option, in meinem Beispiel 1, könnte man aus der DB-Tabelle products_options den Namen der Option auslesen. Wenn der immer gleich lautet bei den diversen Produkten, z.B. "Probe" kann man eine Routine in der /includes/cart_actions.php dahingehend einbauen, daß abgafangen wird was du möchtest.
    Dazu müsstest du aber auch noch die /includes/modules/product_info.php und wahrscheinlich die /includes/classes/shopping_cart.php anfassen oder zumindest anschauen um zu verstehen wie Funktionen wie z.B. add_cart() arbeiten.
    Man könnte das

    Gruß,
    noRiddle

    Parker

    • Mitglied
    • Beiträge: 135
    • Geschlecht:
    Re: Summe bestimmter Artikel-Varianten in Warenkorb ausgeben
    Antwort #2 am: 29. Februar 2016, 13:41:57
    Danke für die Ausführung, noRiddle.
    Ich habs gefunden. Bis ich das hin bekomme, muss ich aber erst mal schauen, wie das in PHP noch gleich ging und wenn man in modified nicht nicht zu hause ist, dauert das noch was länger. Wenn ich es hin bekommen sollte, poste ich das Ergebnis. Danke aber, für die Hinweise!
    Shop Hosting
    2 Antworten
    3315 Aufrufe
    03. Februar 2011, 16:38:26 von GTB
    9 Antworten
    6214 Aufrufe
    03. August 2010, 14:22:56 von Tomcraft
    6 Antworten
    4901 Aufrufe
    29. August 2011, 05:59:05 von promo
    11 Antworten
    6772 Aufrufe
    20. Mai 2015, 17:04:35 von unbeliveable89