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: Nur gewählte Attribute im Checkout ausgeben

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Nur gewählte Attribute im Checkout ausgeben
    am: 29. Oktober 2017, 13:31:56
    Schönen Sonntag,

    ich such mich gerade dumm und dämlich und verschenke den ganzen Tag dafür, daher hoffe ich auf einen guten Input von euch / der Community.

    In unserem Shop nutzen wir die Attribute als zusätzliche Auswahl (6) von optionalen Artikeln. Vorauswahl ist "-" für "keine Auswahl".

    Im Warenkorb/Checkout/Bestellbestätigung wird das Ganze dann so dargestellt:

    Zitat
    Haupt-/Stammartikel als Beispielartikel
    • Attribut1: -
    • Attribut2: Auswahl 2
    • Attribut3: Auswahl 1
    • Attribut4: -
    • Attribut5: -

    Dies verbraucht viel Platz auf den Rechnungen und Lieferscheinen, sodass wir überlegt haben, nur die Attribute zu übertragen, die auch tatsächlich ausgewählt ( also != '-' ) sind. Also so:

    Zitat
    Haupt-/Stammartikel als Beispielartikel
    • Attribut2: Auswahl 2
    • Attribut3: Auswahl 1

    Im Warenkorb funktioniert das optisch schon ganz gut. Nur im Checkout noch nicht, da ich hier nicht die Stelle finde, welche die Attribute auflistet, sodass ich hier vor Übertragung in die Datenbank (orders_attributes) die Vorauswahl "-" rausfiltern kann.

    Also lange Rede, kurzer Sinn: Weiß jemand, wo ich ansetzen soll? :D

    Linkback: https://www.modified-shop.org/forum/index.php?topic=38165.0

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: Nur gewählte Attribute im Checkout ausgeben
    Antwort #1 am: 30. Oktober 2017, 16:16:37
    *push*  :flee-mrgreen:

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Nur gewählte Attribute im Checkout ausgeben
    Antwort #2 am: 31. Oktober 2017, 15:51:22
    Hallo Alex,

    der richtige Ansatz ist, die unnötigen Attribute erst gar nicht an das Cart Objekt zu übergeben.

    \includes\extra\cart_actions\add_product_prepare_post

    Hier Datei erstellen mit der alle Elemente von $_POST['id'] geprüft werden und dabei der unerwünschte Eintrag entfernt wird

    Code: PHP  [Auswählen]
    $params = $_POST['id'];
    if (is_array($params) && (sizeof($params) > 0)) {
          reset($params);
          while (list($option, $value) = each($params)) {
             $value_name = xtc_oe_get_options_values_name($value,'');
             if ($value_name == '-') {
                unset($_POST['id'][$option]);
             }
          }
    }
     

    Gruss Web28

    awids

    • Experte
    • Beiträge: 3.803
    • Geschlecht:
    Re: Nur gewählte Attribute im Checkout ausgeben
    Antwort #3 am: 31. Oktober 2017, 16:28:46
    Danke web28,

    genau sowas habe ich gesucht.  :B :thx:

    Ich musste allerdings noch die verwendete Funktion mit einbinden, damit das funktioniert und ich nach dem Redirect nicht auf einer weißen Seite lande:

    Code: PHP  [Auswählen]
    <?php
    $params = $_POST['id'];
    if (is_array($params) && (sizeof($params) > 0)) {
          reset($params);
          while (list($option, $value) = each($params)) {
             require_once (DIR_FS_INC.'xtc_oe_get_options_values_name.inc.php');
             $value_name = xtc_oe_get_options_values_name($value,'');
             if ($value_name == '-') {
                unset($_POST['id'][$option]);
             }
          }
    }

    Nochmals herzlichen Dank.  :worship:

    Beste Grüße und einen schönen Feiertag

    Alex
    4 Antworten
    2439 Aufrufe
    19. September 2013, 00:01:29 von maron08
    2 Antworten
    2603 Aufrufe
    03. Januar 2010, 03:51:28 von Lkwjoe
    10 Antworten
    4526 Aufrufe
    24. März 2017, 17:29:13 von 6step
               
    anything