Yepi1533005574 Posted October 20, 2017 Share Posted October 20, 2017 Hallo Leute, gibt es eine Möglichkeit die Alten, bereits abgeschlossenen Bestellungen erneut in den Warenkorb zu legen ? Link to comment Share on other sites More sharing options...
Yepi1533005574 Posted October 21, 2017 Author Share Posted October 21, 2017 Ich muss unbedingt die Attribute umgehen können. Gibt es die Möglichkeit dass Produkte von der product_listing.php direkt in den Warenkorb gelegt werden auch wenn dieses Produkt mit Attributen verknüpft ist ? Ich möchte dass Attribute nur von der Product_info.php ausgewählt und übergeben werden können. Ich hoffe es gibt jemanden der mir helfen kann. Link to comment Share on other sites More sharing options...
Yepi1533005574 Posted October 22, 2017 Author Share Posted October 22, 2017 (edited) So langsam glaub ich, dass dieses Forum schon tot ist. Leider. Vor ein paar Jahren war es hier so richtig lebendig und alle haben sich gegenseitig geholfen. Bevor jemand wieder schreibt das alles ist nicht so einfach und erfordert gute kenntnisse dann muss ich dem widersprechen. Übergabe der Produkte ohne Attribute von der produkt_listing.php direkt in den Warenkorb erfordert den austausch von nur 4 Buchstaben in einer Datei ! Falls jemand interessiert ist einfach mal ne pm schreiben. Ich helfe soweit ich kann aber hierher schreiben ist anscheinend sinnlos. LG. Edited October 22, 2017 by Yepi Link to comment Share on other sites More sharing options...
mcmannehan Posted October 31, 2017 Share Posted October 31, 2017 Übergabe der Produkte in der produkt_listing.php oder products_info.php ohne Attributte in den Warenkorb funktioniert in allen osC Versionen ohne Änderungen im Code. Wenn Du Änderungen dafür brauchst, ist Dein Core Code schon an anderer Stelle versaut. The clever one learn from everything and from everybody The normal one learn from his experience The silly one knows everything better [socrates, 412 before Christ] Computers help us with the problems we wouldn't have without them! 99.9% of the bugs sit in front of the computer! My programmed add-ons: WDW EasyTabs 1.0.3, WDW Facebook Like 1.0.0 if(isset($this) || !isset($this)){ // that's the question... Link to comment Share on other sites More sharing options...
Yepi1533005574 Posted October 31, 2017 Author Share Posted October 31, 2017 Ist nicht. genau dieser Code hat es erlaubt Produkte in den Warenkorb zu legen ohne auf die product_info.php geleitet zu werden. Ansonsten sind alle Funktionen im Shop absolut in ordnung und werden nicht beeinflusst. Link to comment Share on other sites More sharing options...
mcmannehan Posted October 31, 2017 Share Posted October 31, 2017 vor 4 Minuten, Yepi1533005574 said: Ist nicht. genau dieser Code hat es erlaubt Produkte in den Warenkorb zu legen ohne auf die product_info.php geleitet zu werden. Ansonsten sind alle Funktionen im Shop absolut in ordnung und werden nicht beeinflusst. Aha okay, fhabe ich falsch verstanden, aus den Listings. Und ja, richtig sind genau 4 Buchstaben in einer Datei. The clever one learn from everything and from everybody The normal one learn from his experience The silly one knows everything better [socrates, 412 before Christ] Computers help us with the problems we wouldn't have without them! 99.9% of the bugs sit in front of the computer! My programmed add-ons: WDW EasyTabs 1.0.3, WDW Facebook Like 1.0.0 if(isset($this) || !isset($this)){ // that's the question... Link to comment Share on other sites More sharing options...
Yepi1533005574 Posted October 31, 2017 Author Share Posted October 31, 2017 Also für alle interessierten die wissen möchten wie es funktioniert bereits getätigte Bestellungen erneut in den Warenkorb zu legen. Hierbei werden allerdings Keine Attribute übernommen und somit das Produkt das Attribute aufweist abgestossen. Optional dazu gibt es die Möglichkeit die zu übergehen und das Produkt ohne diese in den Warenkorb zu legen. catalog/includes/functions/general.php Diesen Abschnitt: // Check if product has attributes function tep_has_product_attributes($products_id) { $attributes_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$products_id . "'"); $attributes = tep_db_fetch_array($attributes_query);if ($attributes['count'] > 0) { return true; } else { return false; } } Mit diesem ersetzen: // Check if product has attributes function tep_has_product_attributes($products_id) { $attributes_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_ATTRIBUTES . " where products_id = '" . (int)$products_id . "'"); $attributes = tep_db_fetch_array($attributes_query);if ($attributes['count'] > 0) { return false; } else { return false; } } *********************************************************************************************** Weiter mit dem Hauptthema. Hier gibt es vier Dateien die bearbeitet werden müssen.Es handelt sich um die Dateien "account_history_info.php", die "application_top.php", die "general.php" und die "german.php" .Als aller erstes erstellen Sie eine Kopie der Dateien, die wir bearbeiten werden in einem separaten Ordner.catalog/account_history_info.phpFinde:<?php if (DOWNLOAD_ENABLED == 'true') include(DIR_WS_MODULES . 'downloads.php'); ?>davor einfügen:<div class="buttonSet"> <?php echo tep_draw_form('order_reorder', tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $_GET['order_id'] . '&action=reorder', 'SSL')); echo '<td valign="middle" align="center">' . tep_draw_button(IMAGE_BUTTON_REORDER, 'triangle-1-w', 'Re-Order','','update_button') . '</td>'; echo '</form>'; ?> </div>catalog/includes/application_top.phpFinde:$cart->add_cart($HTTP_GET_VARS['pid'], $cart->get_quantity($HTTP_GET_VARS['pid'])+1); } } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters))); break;danach einfügen:case 'reorder' : $reorder_result = tep_reorder($_GET['order_id']); if ($reorder_result == '') { tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING)); } break;catalog/includes/functions/general.phpFinde am Ende der Datei:?>davor einfügen:function tep_reorder ($orders_id) { global $cart, $languages_id; $result = ''; $ordered_products_query = tep_db_query("select op.products_id, op.orders_products_id, op.products_quantity, p.products_status, p.products_model, p.products_quantity as stock, pd.products_name from " . TABLE_ORDERS_PRODUCTS . " op, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where op.orders_id = '" . $orders_id . "' and op.products_id = p.products_id and p.products_id = pd.products_id and pd.language_id = '" . $languages_id . "'"); while ($ordered_product = tep_db_fetch_array($ordered_products_query)) { if ($ordered_product['products_status'] == '1') { if (!tep_has_product_attributes($ordered_product['products_id'])) { if ($ordered_product['stock'] >= ($cart->get_quantity($ordered_product['products_id'])+$ordered_product['products_quantity'])) { $cart->add_cart($ordered_product['products_id'], $cart->get_quantity($ordered_product['products_id'])+$ordered_product['products_quantity']); } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not enough stock<br>'; } } else { $attributes = array(); $attributes_count = 0; $attributes_query = tep_db_query("select po.products_options_id , pov.products_options_values_id from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " opa, " . TABLE_PRODUCTS_OPTIONS . " po, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where opa.orders_id = '" . $orders_id . "' and opa.orders_products_id = '" . $ordered_product['orders_products_id'] . "' and po.products_options_name = opa.products_options and po.language_id = '" . $languages_id . "' and pa.options_id = po.products_options_id and pa.options_values_id = pov.products_options_values_id and pa.products_id = '" . $ordered_product['products_id'] . "' and pov.products_options_values_name = opa.products_options_values and pov.language_id = '" . $languages_id . "'"); while ($attribute = tep_db_fetch_array($attributes_query)) { $attributes[$attribute['products_options_id']] = $attribute['products_options_values_id']; $attributes_count++; } if ($attributes_count < 1) { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Attributes changed<br>'; } if ($ordered_product['stock'] >= ($cart->get_quantity(tep_get_uprid($ordered_product['products_id'], $attributes))+$ordered_product['products_quantity'])) { $cart->add_cart($ordered_product['products_id'], $cart->get_quantity(tep_get_uprid($ordered_product['products_id'], $attributes))+$ordered_product['products_quantity'], $attributes); } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not enough stock (attr)<br>'; } } } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not Available<br>'; } } return $result; }catalog/includes/languages/german.phpFinde:define('IMAGE_BUTTON_ADD_ADDRESS', 'Neue Adresse');davor einfügen:define('IMAGE_BUTTON_REORDER', 'Erneut bestellen');Speichern Sie diese Dateien.Übertragt jetzt die Dateien mittels FTP in die entsprechenden Verzeichnisse auf Ihrem Server und es ist geschafft. Ich hoffe Ihr könnt damit etwas anfangen. Link to comment Share on other sites More sharing options...
Yepi1533005574 Posted October 31, 2017 Author Share Posted October 31, 2017 (edited) Versucht euren code grundsätzlich mit $_GET zu halten anstatt mit $HTTP_GET_VARS Edited October 31, 2017 by Yepi Link to comment Share on other sites More sharing options...
Yepi1533005574 Posted November 3, 2017 Author Share Posted November 3, 2017 catalog/includes/functions/general.php vor ?> einfgen // reorder code function tep_reorder ($orders_id) { global $cart, $languages_id; $result = ''; $ordered_products_query = tep_db_query("select op.products_id, op.orders_products_id, op.products_quantity, p.products_status, p.products_model, p.products_quantity as stock, pd.products_name from " . TABLE_ORDERS_PRODUCTS . " op, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where op.orders_id = '" . $orders_id . "' and op.products_id = p.products_id and p.products_id = pd.products_id and pd.language_id = '" . $languages_id . "'"); while ($ordered_product = tep_db_fetch_array($ordered_products_query)) { if ($ordered_product['products_status'] == '1') { if (!tep_has_product_attributes($ordered_product['products_id'])) { if ($ordered_product['stock'] >= ($cart->get_quantity($ordered_product['products_id'])+$ordered_product['products_quantity'])) { $cart->add_cart($ordered_product['products_id'], $cart->get_quantity($ordered_product['products_id'])+$ordered_product['products_quantity']); } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not enough stock<br>'; } } else { $attributes = array(); $attributes_count = 0; $attributes_query = tep_db_query("select po.products_options_id , pov.products_options_values_id from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " opa, " . TABLE_PRODUCTS_OPTIONS . " po, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where opa.orders_id = '" . $orders_id . "' and opa.orders_products_id = '" . $ordered_product['orders_products_id'] . "' and po.products_options_name = opa.products_options and po.language_id = '" . $languages_id . "' and pa.options_id = po.products_options_id and pa.options_values_id = pov.products_options_values_id and pa.products_id = '" . $ordered_product['products_id'] . "' and pov.products_options_values_name = opa.products_options_values and pov.language_id = '" . $languages_id . "'"); while ($attribute = tep_db_fetch_array($attributes_query)) { $attributes[$attribute['products_options_id']] = $attribute['products_options_values_id']; $attributes_count++; } if ($attributes_count < 1) { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Attributes changed<br>'; } if ($ordered_product['stock'] >= ($cart->get_quantity(tep_get_uprid($ordered_product['products_id'], $attributes))+$ordered_product['products_quantity'])) { $cart->add_cart($ordered_product['products_id'], $cart->get_quantity(tep_get_uprid($ordered_product['products_id'], $attributes))+$ordered_product['products_quantity'], $attributes); } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not enough stock (attr)<br>'; } } } else { $result .= 'product: ' . $ordered_product['products_id'] . ' [' . $ordered_product['products_model'] . '] > ' . $ordered_product['products_name'] . ': Not Available<br>'; } } return $result; } // reorder code end Link to comment Share on other sites More sharing options...
Recommended Posts