Hallo,
ich habe bei meinem Shop v1.06 ein Problem mit dem Freitext-Modul.
Leider ist es schon einige Zeit her, dass ich die Erweiterung installiert habe, daher kann ich die Quelle nicht genau nennen, wohl jedoch die Dateien, die dafür verändert wurden.
Nun ist es so, dass Bestellungen mit Freitextfeldern bei PayPal und Vorkasse korrekt abgewickelt werden,
bei Zahlung mit Sofortüberweisung jedoch nicht. Da erscheint dann einfach TEXTFELD in der Bestellung.
Ich selber bin PHP-Entwickler und sollte eigentlich die Lösung selber finden können, jedoch habe ich mit dem Modified-Shop nur sehr wenig Erfahrung.
Daher meine Frage an Euch, liebe Community, wo kann ich anfangen das ganze zu debuggen, bzw. was ist Eure Einschätzung in solch einem Fall?
Anbei einmal ein Listing aus der
checkout-process.php (mit ein wenig Code vor- und nach der Textfeld-Stelle):
Bei mir ab Zeile 365.
if (isset ($order->products[$i]['attributes'])) { $attributes_exist = '1'; for ($j = 0, $n2 = sizeof($order->products[$i]['attributes']); $j < $n2; $j ++) { $left_join_downloads = $add_products_attributes = ''; if (DOWNLOAD_ENABLED
== 'true') { $left_join_downloads = "LEFT JOIN ".TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD
." pad ON pa.products_attributes_id=pad.products_attributes_id"; $add_products_attributes = 'pad.products_attributes_maxdays,
pad.products_attributes_maxcount,
pad.products_attributes_filename,'; } // update attribute stock xtc_db_query
("UPDATE ".TABLE_PRODUCTS_ATTRIBUTES
."
SET attributes_stock=attributes_stock - '".$order->products[$i]['qty']."'
WHERE products_id='".$order->products[$i]['id']."'
AND options_values_id='".$order->products[$i]['attributes'][$j]['value_id']."'
AND options_id='".$order->products[$i]['attributes'][$j]['option_id']."'
"); $attributes_values = $main->getAttributes( $order->products[$i]['id'], $order->products[$i]['attributes'][$j]['option_id'], $order->products[$i]['attributes'][$j]['value_id'], $add_products_attributes, $left_join_downloads ); // BOF TEXTFELD $options_values = trim($attributes_values['products_options_values_name']); if($attributes_values['products_options_values_name'] == 'TEXTFELD'){ $value = $order->products[$i]['attributes'][$j]['value_id']; $options_values = trim($_SESSION['cart_textfeld'. $order->products[$i]['id']][$value]); unset ($_SESSION['cart_textfeld'. $order->products[$i]['id']][$value]); //Fix v.1.00c } if ($options_values != '') { $sql_data_array = array ( 'orders_id' => $insert_id, 'orders_products_id' => $order_products_id, 'products_options' => $attributes_values['products_options_name'], 'products_options_values' => $options_values, 'options_values_price' => $attributes_values['options_values_price'], 'price_prefix' => $attributes_values['price_prefix']); xtc_db_perform
(TABLE_ORDERS_PRODUCTS_ATTRIBUTES
, $sql_data_array); } // EOF TEXTFELD $sql_data_array = array ('orders_id' => $insert_id, 'orders_products_id' => $order_products_id, 'products_options' => $attributes_values['products_options_name'], 'products_options_values' => $attributes_values['products_options_values_name'], 'options_values_price' => $attributes_values['options_values_price'], 'price_prefix' => $attributes_values['price_prefix'], 'orders_products_options_id' => $order->products[$i]['attributes'][$j]['option_id'], 'orders_products_options_values_id' => $order->products[$i]['attributes'][$j]['value_id'] ); // xtc_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array); if ((DOWNLOAD_ENABLED
== 'true') && isset ($attributes_values['products_attributes_filename']) && xtc_not_null
($attributes_values['products_attributes_filename'])) { $sql_data_array = array ('orders_id' => $insert_id, 'orders_products_id' => $order_products_id, 'orders_products_filename' => $attributes_values['products_attributes_filename'], 'download_maxdays' => $attributes_values['products_attributes_maxdays'], 'download_count' => $attributes_values['products_attributes_maxcount'] ); // xtc_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array); } } } //------insert customer choosen option eof ---- $total_weight += ($order->products[$i]['qty'] * $order->products[$i]['weight']); $total_tax += xtc_calculate_tax
($total_products_price, $products_tax) * $order->products[$i]['qty']; $total_cost += $total_products_price; } Meine Frage ist auch, warum PayPal und Vorkasse funktionieren, und was am programmatischen Ablauf bei Sofortüberweisung anders ist, sodass das überhaupt so vorkommen kann.
Was für Informationen braucht Ihr noch?
Danke für Eure Unterstützung,
Andreas
Linkback: https://www.modified-shop.org/forum/index.php?topic=32038.0