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: includes/cart_action.php - kleines Problem

    Gradler

    • Viel Schreiber
    • Beiträge: 2.083
    • Geschlecht:
    includes/cart_action.php - kleines Problem
    am: 02. Juli 2012, 19:48:08
    Hallo,

    nachdem es so aussieht, als ob mein kleines, für mich momentan unlösbares Problem - "Updatemüdigkeit" - im anderen Thema übersehen wird bin ich mal so unverschämt und mach ein Neues auf.

    Hallo,

    habe ein Problem mit meiner cart_actions.php nach Konfigurator Einbau. Sobald ein Artikel mit Attributen aus der Listing Ansicht in den Warenkorb gelegt wird habe ich dort keine Attribute mehr. Wird der Artikel aus der Produktansicht in den Warenkorb gelegt ist alles normal.

    Bin jetzt nach zig Rückbauten und Tests drauf gekommen, woran es liegt:

    includes/cart_actions.php

    Code: PHP  [Auswählen]
    suche (jetzt ca. Zeile 129):
                            if (isset ($_POST['products_id']) && is_numeric($_POST['products_id'])) {
                           
                                    $cart_quantity = xtc_remove_non_numeric($_POST['products_qty']);
                                   
                                    if ($cart_quantity > MAX_PRODUCTS_QTY)
                                            $cart_quantity = MAX_PRODUCTS_QTY;

    ersetze mit:
                            //print_r($_POST);
                            if (isset($_POST['products_id']))
                            {
                                    $pids = count($_POST['products_id']);
                                    for($i=$pids-1; $i>=0; $i--){
                                            if ($_POST['products_qty'][$i] > MAX_PRODUCTS_QTY)
                                                            $_POST['products_qty'][$i] = MAX_PRODUCTS_QTY;
                                    }

    ---------------------------------------------------------------------------------------------

    suche (jetzt ca. Zeile 140):
                                            $old_quantity = $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id']));
                                            $econda->_addProduct($_POST['products_id'], $cart_quantity, $old_quantity);

    ersetze mit:
                                            $old_quantity = $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'][0], $_POST['id']));
                                            $econda->_addProduct($_POST['products_id'][0], $_POST['products_qty'], $old_quantity);

    ---------------------------------------------------------------------------------------------

    suche (jetzt ca. Zeile 144):
                                    $_SESSION['cart']->add_cart((int) $_POST['products_id'], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id'])) + $cart_quantity, $_POST['id']);
                                   
                            }
                            xtc_redirect(xtc_href_link($goto, 'products_id=' . (int) $_POST['products_id'] . '&' . xtc_get_all_get_params($parameters)));

    ersetze mit:
                                    for($i=$pids-1; $i>=0; $i--){
                                            if ($_POST['products_id'][$i] == $_GET['products_id']) {
                                                            $t_ids = $_POST['id'];
                                                            $config_comment = $_POST['config_comment'];
                                            } else {
                                                            $t_ids = array();
                                                            $config_comment = '';
                                            }
                                            if (isset($_POST['qty']) && !isset($_POST['acc_'.$_POST['products_id'][$i].'_id'])) {
                                                    if (isset($_POST['acc_'.$_POST['products_id'][$i].'_qty'])) {
                                                                    $attributes_quantities = $_POST['acc_'.$_POST['products_id'][$i].'_qty'];
                                                    } else {
                                                            $attributes_quantities = $_POST['qty'];
                                                    }
                                            } else {
                                                    if (isset($_POST['acc_'.$_POST['products_id'][$i].'_qty'])) {
                                                                    $attributes_quantities = $_POST['acc_'.$_POST['products_id'][$i].'_qty'];
                                                    } else {
                                                                    $attributes_quantities = false;
                                                    }
                                            }
                                            if (isset($_POST['acc_'.$_POST['products_id'][$i].'_id'])) {
                                                    if (isset($_POST['products_qty'][$i]))
                                                            $_SESSION['cart']->add_cart((int)$_POST['products_id'][$i], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'][$i], $_POST['acc_'.$_POST['products_id'][$i].'_id'])) + xtc_remove_non_numeric($_POST['products_qty'][$i]), $_POST['acc_'.$_POST['products_id'][$i].'_id'], true, $config_comment, $attributes_quantities);
                                                    else {
                                                            $_SESSION['cart']->add_cart((int)$_POST['products_id'][$i], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'][$i], $_POST['acc_'.$_POST['products_id'][$i].'_id'])) + xtc_remove_non_numeric($_POST['products_qty_'.$_POST['products_id'][$i]]), $_POST['acc_'.$_POST['products_id'][$i].'_id'], true, $config_comment, $attributes_quantities);
                                                    }
                                            } else {
                                                    if (isset($_POST['products_qty'][$i]))
                                                                    $_SESSION['cart']->add_cart((int)$_POST['products_id'][$i], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'][$i], $t_ids)) + xtc_remove_non_numeric($_POST['products_qty'][$i]), $t_ids, true, $config_comment, $attributes_quantities);
                                                    else {
                                                            $_SESSION['cart']->add_cart((int)$_POST['products_id'][$i], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'][$i], $t_ids)) + xtc_remove_non_numeric($_POST['products_qty_'.$_POST['products_id'][$i]]), $t_ids, true, $config_comment, $attributes_quantities);
                                                    }
                                            }
                                    }
                            }
                    xtc_redirect(xtc_href_link($goto, 'products_id=' . (int) $_POST['products_id'][0] . '&' . xtc_get_all_get_params($parameters)));

    Könnte mir bitte jemand helfen? Was müsste gändert werden damit alles wieder richtig funktioniert?

    Danke

    Gerd

    Also Einzeln gehen beide Erweiterungen - nur zusammen geht halt die Übernahme der Attribute in den Warenkorb nicht mehr aus der Listenübersicht.

    Vielleicht hat ja jemand eine Lösung.

    Danke

    Gerd

    Linkback: https://www.modified-shop.org/forum/index.php?topic=20913.0
    5 Antworten
    3297 Aufrufe
    22. Dezember 2011, 12:21:16 von Boris
    6 Antworten
    2960 Aufrufe
    30. Januar 2010, 00:33:29 von Tomcraft
    2 Antworten
    1334 Aufrufe
    12. Januar 2019, 23:16:46 von fishnet
    0 Antworten
    909 Aufrufe
    02. April 2020, 12:26:05 von Daniel140581#
               
    anything