John Doswell Posted May 20, 2004 Share Posted May 20, 2004 any body got it working in mulktilanguage site??? regards Quote Link to comment Share on other sites More sharing options...
esurge Posted May 22, 2004 Share Posted May 22, 2004 Hello Does any one know how to make the products hyperlinked so it links to the individual products. Also can we make it bring up all the images of the products Jazz Quote Link to comment Share on other sites More sharing options...
safoo Posted May 22, 2004 Share Posted May 22, 2004 esurge, Look at the post at the bottom of page 4 by bruyndoncx. Her changes has the option to hyperlink the links. Quote Link to comment Share on other sites More sharing options...
nesincg Posted May 27, 2004 Share Posted May 27, 2004 chris or anyone, thanks for the contribution and the invoice that looks great. Easy to install. I'd like to add the individual model numbers to that invoice. The sql you are using is a bit too complex for me. Any help from anyone would be great. Any thoughts of how to select product options of the sub products? I know crazy isn't it. <_< Quote Link to comment Share on other sites More sharing options...
rpain Posted June 1, 2004 Share Posted June 1, 2004 Is there any option to show the individual product attributes for the bundle sub products? Richard Quote Link to comment Share on other sites More sharing options...
cdamianou Posted June 4, 2004 Share Posted June 4, 2004 (edited) I create a bundled products, it all seems to work well, apart from when i go to checkout it brings up the following error. 1146 - Table '*****.TABLE_PRODUCTS_BUNDLES' doesn't exist select pb.subproduct_id, pb.subproduct_qty, p.products_model, p.products_quantity, p.products_bundle from TABLE_PRODUCTS_BUNDLES pb LEFT JOIN products p ON p.products_id=pb.subproduct_id where pb.bundle_id = '364' Does anyone know why this is happening? Thanks Edited June 4, 2004 by cdamianou Quote Link to comment Share on other sites More sharing options...
safoo Posted June 5, 2004 Share Posted June 5, 2004 you missed a 'define' statement in one of the language files. double check installation. Quote Link to comment Share on other sites More sharing options...
CC Posted June 8, 2004 Share Posted June 8, 2004 Did anyone ever figure out how to alter a bundle? Everytime we try to change an already existing bundle, the changes made do not take effect. We end up having to delete it and then recreate it, and it takes too long. Was it something to do with this Preview step? Anyone who knows how this is fixed please gimme a shout. ta. CC. Quote Link to comment Share on other sites More sharing options...
lushlongboards Posted June 8, 2004 Author Share Posted June 8, 2004 without having access to an osC with a preview step, I would say that it was def. to do it with the extra page that gets pulled up (the preview page). I reckon if you don't need preview then skip it! Quote Link to comment Share on other sites More sharing options...
rpain Posted June 8, 2004 Share Posted June 8, 2004 Anyone have any idea on how to skip the preview page? I know it's in the categories.php but the again isn't everything...I know it's just a case of redirecting a form (or changing the &action= bit) somewhere but don't know exactly which one. Many thanks, Richard PS Is there any option to show the individual product attributes for the bundle sub products? - or a way round it. Sorry to nag... Quote Link to comment Share on other sites More sharing options...
CC Posted June 18, 2004 Share Posted June 18, 2004 Actually I am struggling with this too. I figured the skipping of this process would be simple... But it aint. Can someone who has completed the skipping of the Preview step drop in the code they used so we can make the same changes? It is very frustrating having to delete and recreate a bundle when all we want to do is alter one... Thanks all. Quote Link to comment Share on other sites More sharing options...
CC Posted June 19, 2004 Share Posted June 19, 2004 Ok guys, am looking for a definitive answer here now guys, if any of you can be so kind as to help... Apparently we are having a big push on Bundles this coming week, lots of new products etc, now the responsibilty falls to me to be able to get this bundles mod working. Altho it does work, this bug with not updating when you try to alter a bundle is causing me grief :( I have searched and searched on the bypassing of the preview step an am finding nothing. Could someone please either drop in the code they used to bypass this step (which I feel is a useless part of OSC anyway) or perhaps lets look to modify the bundles code so that it will work using the preview page... I am going over it now and seeing what I can come up with, but in the meantime if ANYONE here can help at all it would be highly appreciated. Ta. Quote Link to comment Share on other sites More sharing options...
CC Posted June 19, 2004 Share Posted June 19, 2004 Erm... Why oh why does PHP trick me so much? ;) Now to skip the step I seem to have changed the very obvious point of the form, from new_products_preview to update_product This works, but I am a tad dubious that this was too simple, and that I am not skipping other required steps before the update. I will test away and let you know if anything controversial happens, BTW I havent found out if this fixes the bundle edit problem either yet. Will let you know. Quote Link to comment Share on other sites More sharing options...
CC Posted June 19, 2004 Share Posted June 19, 2004 Short answer, skipping Preview page doesnt fix the Bundle editting problem. I am beginning to this that somewhere on the update the new details are clearly not being passed to the DB. Will just have to go thru the categories code and find out where it is being missed. Will let ya know... Again... :( Quote Link to comment Share on other sites More sharing options...
lushlongboards Posted June 29, 2004 Author Share Posted June 29, 2004 when you update a bundle, the script should delete all entries from the bundles table that relate to that bundle, before writing the new contents of the javascript drop down system. what browser are you using? maybe it's a javascript thing? ... c Quote Link to comment Share on other sites More sharing options...
CC Posted June 29, 2004 Share Posted June 29, 2004 Ok, Well currently we use the latest version of IE6, all updates run. It doesnt appear to do this, even if we delete the selected bundles items by removing yes, it doesnt delete anything, so soon as we put "yes" back in, it refills the items with the ones selected when the bundle was created. So it is leaving the items in the table still it would appear... This is perhaps where it is failing, if it isnt deleting them in order to recreate, then it may not be reaching the recreation stage. Quote Link to comment Share on other sites More sharing options...
whaou Posted July 2, 2004 Share Posted July 2, 2004 i have got a pb whith this contribution, when i fill the fields of the bundle wthit the drop zone menu and i do preview then update. When i come back in the card-index product, the fields with the items that compose the bundle, don't exist any more ?? :( Quote Link to comment Share on other sites More sharing options...
CC Posted July 2, 2004 Share Posted July 2, 2004 Read back dude, that has been the problem for the last 10 pages! Solution still not been found yet... Quote Link to comment Share on other sites More sharing options...
Guest Posted July 4, 2004 Share Posted July 4, 2004 Hi, hoping for some help - have been trying to get this contribution working and seem to have the same problem as Costas - I create a bundled products, it all seems to work well, apart from when i go to checkout it brings up the following error. 1146 - Table '*****.TABLE_PRODUCTS_BUNDLES' doesn't exist select pb.subproduct_id, pb.subproduct_qty, p.products_model, p.products_quantity, p.products_bundle from TABLE_PRODUCTS_BUNDLES pb LEFT JOIN products p ON p.products_id=pb.subproduct_id where pb.bundle_id = '364' the reply to this post from Saffoo was you missed a 'define' statement in one of the language files. double check installation. I am confused as you don't touch the language files as far as I'm aware in the setup - just catalog and catalog/admin I have triple checked my php admin and I definately have this table - I tried another suggestion by Saffoo It seems you already added that column. Just make sure it is there in your database as a 'tinyint' and you are ready to go. Which is contrary to the install instructions which say to make it a tinytext not tinyint ALTER TABLE `yourdatabasenamehere`.`products` ADD `products_bundle` TINYTEXT NOT NULL So now I don't have any error messages after changing it to a tinyint but I also don't have any bundles either - it is treating my 'bundle' product just like a normal product and when someone buys it the stock is reduced for the bundle - not the individual items - which is obviously wrong. So if I make that one small change - i.e. revert back to "tinyText" in php for the products_bundle - in admin all seems to work fine - I can add the different products - make my bundle and it shows up in my shop with the different products listed o.k. and the bundled pricing showing the savings and all works o.k. until you get to checkout confirmation and then I am right back to my original error:- 1146 - Table 'scrapbox_osc1.TABLE_PRODUCTS_BUNDLES' doesn't exist select pb.subproduct_id, pb.subproduct_qty, p.products_model, p.products_quantity, p.products_bundle from TABLE_PRODUCTS_BUNDLES pb LEFT JOIN products p ON p.products_id=pb.subproduct_id where pb.bundle_id = '1006' [TEP STOP] Now we know it does exist so I am thinking maybe I went wrong in my checkout_process file so here is the file:- php/* $Id: checkout_process.php,v 1.2.37.2 2004/01/01 14:00:29 Strider Exp $ $Id: checkout_process.php,v 1.128 2003/07/24 18:00:29 Strider Exp $ $Id: checkout_process.php,v 1.128 2003/05/28 18:00:29 hpdl Exp $ $Id: checkout_process.php,v 1.6.2.1 2003/05/03 23:41:23 wilt Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2003 osCommerce Released under the GNU General Public License */ include('includes/application_top.php'); // if the customer is not logged on, redirect them to the login page if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT)); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } if (!tep_session_is_registered('sendto')) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } if ( (tep_not_null(MODULE_PAYMENT_INSTALLED)) && (!tep_session_is_registered('payment')) ) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } // avoid hack attempts during the checkout procedure by checking the internal cartID if (isset($cart->cartID) && tep_session_is_registered('cartID')) { if ($cart->cartID != $cartID) { tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')); } } include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PROCESS); // load selected payment module require(DIR_WS_CLASSES . 'payment.php'); if ($credit_covers) $payment=''; //ICW added for CREDIT CLASS $payment_modules = new payment($payment); // load the selected shipping module require(DIR_WS_CLASSES . 'shipping.php'); $shipping_modules = new shipping($shipping); require(DIR_WS_CLASSES . 'order.php'); $order = new order; require(DIR_WS_CLASSES . 'order_total.php'); $order_total_modules = new order_total; $order_totals = $order_total_modules->process(); // load the before_process function from the payment modules $payment_modules->before_process(); $sql_data_array = array('customers_id' => $customer_id, 'customers_name' => $order->customer['firstname'] . ' ' . $order->customer['lastname'], 'customers_company' => $order->customer['company'], 'customers_street_address' => $order->customer['street_address'], 'customers_suburb' => $order->customer['suburb'], 'customers_city' => $order->customer['city'], 'customers_postcode' => $order->customer['postcode'], 'customers_state' => $order->customer['state'], 'customers_country' => $order->customer['country']['title'], 'customers_telephone' => $order->customer['telephone'], 'customers_email_address' => $order->customer['email_address'], 'customers_address_format_id' => $order->customer['format_id'], 'delivery_name' => $order->delivery['firstname'] . ' ' . $order->delivery['lastname'], 'delivery_company' => $order->delivery['company'], 'delivery_street_address' => $order->delivery['street_address'], 'delivery_suburb' => $order->delivery['suburb'], 'delivery_city' => $order->delivery['city'], 'delivery_postcode' => $order->delivery['postcode'], 'delivery_state' => $order->delivery['state'], 'delivery_country' => $order->delivery['country']['title'], 'delivery_address_format_id' => $order->delivery['format_id'], 'billing_name' => $order->billing['firstname'] . ' ' . $order->billing['lastname'], 'billing_company' => $order->billing['company'], 'billing_street_address' => $order->billing['street_address'], 'billing_suburb' => $order->billing['suburb'], 'billing_city' => $order->billing['city'], 'billing_postcode' => $order->billing['postcode'], 'billing_state' => $order->billing['state'], 'billing_country' => $order->billing['country']['title'], 'billing_address_format_id' => $order->billing['format_id'], 'payment_method' => $order->info['payment_method'], 'cc_type' => $order->info['cc_type'], 'cc_owner' => $order->info['cc_owner'], 'cc_number' => $order->info['cc_number'], 'cc_expires' => $order->info['cc_expires'], 'date_purchased' => 'now()', 'orders_status' => $order->info['order_status'], 'currency' => $order->info['currency'], 'currency_value' => $order->info['currency_value']); tep_db_perform(TABLE_ORDERS, $sql_data_array); $insert_id = tep_db_insert_id(); for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { $sql_data_array = array('orders_id' => $insert_id, 'title' => $order_totals[$i]['title'], 'text' => $order_totals[$i]['text'], 'value' => $order_totals[$i]['value'], 'class' => $order_totals[$i]['code'], 'sort_order' => $order_totals[$i]['sort_order']); tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array); } $customer_notification = (SEND_EMAILS == 'true') ? '1' : '0'; $sql_data_array = array('orders_id' => $insert_id, 'orders_status_id' => $order->info['order_status'], 'date_added' => 'now()', 'customer_notified' => $customer_notification, 'comments' => $order->info['comments']); tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array); // initialized for the email confirmation $products_ordered = ''; $subtotal = 0; $total_tax = 0; for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { // Stock Update - Joao Correia if (STOCK_LIMITED == 'true') { if (DOWNLOAD_ENABLED == 'true') { $stock_query_raw = "SELECT products_quantity, products_bundle, pad.products_attributes_filename FROM " . TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES . " pa ON p.products_id=pa.products_id LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad ON pa.products_attributes_id=pad.products_attributes_id WHERE p.products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"; // Will work with only one option for downloadable products // otherwise, we have to build the query dynamically with a loop $products_attributes = $order->products[$i]['attributes']; if (is_array($products_attributes)) { $stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'"; } $stock_query = tep_db_query($stock_query_raw); } else { $stock_query = tep_db_query("select products_quantity, products_bundle from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); } if (tep_db_num_rows($stock_query) > 0) { $stock_values = tep_db_fetch_array($stock_query); if ($stock_values['products_bundle'] == 'yes') { // order item is a bundle and must be separated $report_text .= "Bundle found in order : " . tep_get_prid($order->products[$i]['id']) . "<br>\n"; $bundle_query = tep_db_query("select pb.subproduct_id, pb.subproduct_qty, p.products_model, p.products_quantity, p.products_bundle from " . TABLE_PRODUCTS_BUNDLES . " pb LEFT JOIN " . TABLE_PRODUCTS . " p ON p.products_id=pb.subproduct_id where pb.bundle_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); while ($bundle_data = tep_db_fetch_array($bundle_query)) { if ($bundle_data['products_bundle'] == "yes") { $report_text .= "<br>level 2 bundle found in order : " . $bundle_data['products_model'] . "<br>"; $bundle_query_nested = tep_db_query("select pb.subproduct_id, pb.subproduct_qty, p.products_model, p.products_quantity, p.products_bundle from " . TABLE_PRODUCTS_BUNDLES . " pb LEFT JOIN " . TABLE_PRODUCTS . " p ON p.products_id=pb.subproduct_id where pb.bundle_id = '" . $bundle_data['subproduct_id'] . "'"); while ($bundle_data_nested = tep_db_fetch_array($bundle_query_nested)) { $stock_left = $bundle_data_nested['products_quantity'] - $bundle_data_nested['subproduct_qty'] * $order->products[$i]['qty']; $report_text .= "updating level 2 item " . $bundle_data_nested['products_model'] . " : was " . $bundle_data_nested['products_quantity'] . " and number ordered is " . ($bundle_data_nested['subproduct_qty'] * $order->products[$i]['qty']) . " <br>\n"; tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . $bundle_data_nested['subproduct_id'] . "'"); } } else { $stock_left = $bundle_data['products_quantity'] - $bundle_data['subproduct_qty'] * $order->products[$i]['qty']; $report_text .= "updating level 1 item " . $bundle_data['products_model'] . " : was " . $bundle_data['products_quantity'] . " and number ordered is " . ($bundle_data['subproduct_qty'] * $order->products[$i]['qty']) . " <br>\n"; tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . $bundle_data['subproduct_id'] . "'"); } } } else { // order item is normal and should be treated as such $report_text .= "Normal product found in order : " . tep_get_prid($order->products[$i]['id']) . "\n"; // do not decrement quantities if products_attributes_filename exists if ((DOWNLOAD_ENABLED != 'true') || (!$stock_values['products_attributes_filename'])) { $stock_left = $stock_values['products_quantity'] - $order->products[$i]['qty']; } else { $stock_left = $stock_values['products_quantity']; } tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); if ( ($stock_left < 1) && (STOCK_ALLOW_CHECKOUT == 'false') ) { tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '0' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); } } } } // Update products_ordered (for bestsellers list) tep_db_query("update " . TABLE_PRODUCTS . " set products_ordered = products_ordered + " . sprintf('%d', $order->products[$i]['qty']) . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); $sql_data_array = array('orders_id' => $insert_id, 'products_id' => tep_get_prid($order->products[$i]['id']), 'products_model' => $order->products[$i]['model'], 'products_name' => $order->products[$i]['name'], 'products_price' => $order->products[$i]['price'], 'final_price' => $order->products[$i]['final_price'], 'products_tax' => $order->products[$i]['tax'], 'products_quantity' => $order->products[$i]['qty']); tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array); $order_products_id = tep_db_insert_id(); $order_total_modules->update_credit_account($i);//ICW ADDED FOR CREDIT CLASS SYSTEM //------insert customer choosen option to order-------- $attributes_exist = '0'; $products_ordered_attributes = ''; if (isset($order->products[$i]['attributes'])) { $attributes_exist = '1'; for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) { if (DOWNLOAD_ENABLED == 'true') { $attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad on pa.products_attributes_id=pad.products_attributes_id where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'"; $attributes = tep_db_query($attributes_query); } else { $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'"); } $attributes_values = tep_db_fetch_array($attributes); $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']); tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array); if ((DOWNLOAD_ENABLED == 'true') && isset($attributes_values['products_attributes_filename']) && tep_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']); tep_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array); } $products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . $attributes_values['products_options_values_name']; } } //------insert customer choosen option eof ---- $total_weight += ($order->products[$i]['qty'] * $order->products[$i]['weight']); $total_tax += tep_calculate_tax($total_products_price, $products_tax) * $order->products[$i]['qty']; $total_cost += $total_products_price; $products_ordered .= $order->products[$i]['qty'] . ' x ' . $order->products[$i]['name'] . ' (' . $order->products[$i]['model'] . ') = ' . $currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty']) . $products_ordered_attributes . "\n"; } $order_total_modules->apply_credit();//ICW ADDED FOR CREDIT CLASS SYSTEM // lets start with the email confirmation $email_order = STORE_NAME . "\n" . // additional text message $email_order .= "\r\nThank you for your order! \r\nWe appreciate your business, we have recorded the following items against your purchase, all products in stock will be despatched immediately payment is received any backordered products will be sent freight free to you upon their arrival. <p></p>If you have any queries about your order or if products recored do not match your records please don't hesitate to contact us by return email.... \r\n" . // end of additional text message EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n"; if ($order->info['comments']) { $email_order .= tep_db_output($order->info['comments']) . "\n\n"; } $email_order .= EMAIL_TEXT_PRODUCTS . "\n" . EMAIL_SEPARATOR . "\n" . $products_ordered . EMAIL_SEPARATOR . "\n"; for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) { $email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n"; } if ($order->content_type != 'virtual') { $email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" . EMAIL_SEPARATOR . "\n" . tep_address_label($customer_id, $sendto, 0, '', "\n") . "\n"; } $email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" . EMAIL_SEPARATOR . "\n" . tep_address_label($customer_id, $billto, 0, '', "\n") . "\n\n"; if (is_object($$payment)) { $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . EMAIL_SEPARATOR . "\n"; $payment_class = $$payment; $email_order .= $payment_class->title . "\n\n"; if ($payment_class->email_footer) { $email_order .= $payment_class->email_footer . "\n\n"; } } tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); // Version: 02-20-04 (BOF) 02/20/2004 - Low Stock Level Email Author: Emmett (yesUdo.com) and Jai (kynet.co.uk) $warning_stock = STOCK_REORDER_LEVEL; $current_stock = $stock_left; // Jai @ kynet.co.uk made the following change on 20-02-04 // Dynamic store url - Replaced [' http://www.YOURDOMAIN.com/] with [. HTTP_SERVER . DIR_WS_CATALOG . '] $low_stock_email = '<b>Low stock warning:</b> ' . $order->products[$i]['name'] . "\n" . '<b>Model No.:</b> ' . $order->products[$i]['model'] . "\n" . '<b>Quantity:</b> ' . $stock_left . "\n" . '<b>Product URL:</b>' . HTTP_SERVER . DIR_WS_CATALOG . 'product_info.php?products_id='. $order->products[$i]['id'] . "\n\n" . '<b>Current Low order limit is ' . $warning_stock . ' units</b>'; $low_stock_subject = 'Low Stock Warning: ' . $order->products[$i]['name']; if ($current_stock <= $warning_stock) { tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $low_stock_subject, $low_stock_email, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } // (EOF) 02/20/2004 - Low Stock Level Email Author: Emmett (yesUdo.com) and Jai (kynet.co.uk) // send emails to other people if (SEND_EXTRA_ORDER_EMAILS_TO != '') { tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS); } // load the after_process function from the payment modules $payment_modules->after_process(); $cart->reset(true); // unregister session variables used during checkout tep_session_unregister('sendto'); tep_session_unregister('billto'); tep_session_unregister('shipping'); tep_session_unregister('payment'); tep_session_unregister('comments'); if(tep_session_is_registered('credit_covers')) tep_session_unregister('credit_covers'); $order_total_modules->clear_posts();//ICW ADDED FOR CREDIT CLASS SYSTEM tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL')); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Sorry to be so long winded but I am really hoping someone can shine some light here???? thanks Maria Quote Link to comment Share on other sites More sharing options...
CC Posted July 5, 2004 Share Posted July 5, 2004 It isnt in a language file, you need to define it in application_top or database_filenames or whatever it is called. I use an older version whcih doesnt have database_filenames but you need to define the TABLE_PRODUCTS_BUNDLES in which ever file you have. Quote Link to comment Share on other sites More sharing options...
Guest Posted July 5, 2004 Share Posted July 5, 2004 Hi CC, thanks for reply - now the obvious question- how do I 'define' in my application_top - but you need to define the TABLE_PRODUCTS_BUNDLES in which ever file you have. 'define' is that a step I missed in following the instructions to install or is it something extra? I have a catalog/includes/appliction_top file any help to 'define' my Table_products_bundles would be apprciated. cheers Maria Quote Link to comment Share on other sites More sharing options...
Guest Posted July 5, 2004 Share Posted July 5, 2004 Hi Anyone? so as per CC's reply - I tried to 'define' my TABLE_PRODUCTS_BUNDLES in application_top.php and as I don't really know how to do it I tried the following line of code :- define ('TABLE_PRODUCTS_BUNDLES'); and when I went back to my site I got the following error Header already started in sessions.php which I presume means my TABLE_PRODUCTS_BUNDLES is already 'defined' somewhere - any help anyone can give would be much appreciated! thanks Maria Quote Link to comment Share on other sites More sharing options...
CC Posted July 6, 2004 Share Posted July 6, 2004 Just look how the others are set out in application_top, it isnt difficult. There are loads of files named like this: define('TABLE_SESSIONS', 'sessions'); You havent actually defined the table. Your basically telling OSC that when TABLE_PRODUCTS_BUNDLES is called to call the products_bundle from the DB, so you have to tell it the name of the table. The example above shows you how the "sessions" table in the DB is defined. Quote Link to comment Share on other sites More sharing options...
whaou Posted July 9, 2004 Share Posted July 9, 2004 Why this contribution seams to function with scrapart and it's impossible for me to use this contribution :blink: I try to change in my database tinytext by tinyint but i've got the same pb: when i fill the fields of the bundle wthit the drop zone menu and i do preview then update. When i come back in the card-index product, the fields with the items that compose the bundle, don't exist any more lushlongboards use this contrib on his website without any problems ! Quote Link to comment Share on other sites More sharing options...
Guest Posted July 10, 2004 Share Posted July 10, 2004 Hi there, still tweaking it all myself - but so far I've found out that you can't use the 'copy' function at all - you need to create each 'bundled' product from scratch otherwise it won't work. You also can't really go in and edit it after it has been made - it won't work either - if you need to change something - I've found you have to delete it and start again. It dosn't like editing or copying basically - The list of items that make up the bundle won't show in the admin preview - they will only show when you look at the item in your shop. I have re-installed it a couple of times and the one thing they don't tell you in the instructions that is crucial to get it working is adding this line to a file - define('TABLE_PRODUCTS_BUNDLES',products_bundles); now I added it to my catalog/includes/application_top.php don't know if it is the same file for all versions though. When I changed database tinytext to tinyint my bundles disappeared - so I ignored that information and left it as per the original install instructions as 'tinytext'. I am still having a problem - when someone buys a bundle - it is taking the stock off the individual items but also off the bundled product and when there is not enough of the individual item it is not giving the message to say that is it out of stock at checkout - still trying to figure that out as I did have it once? So basically I found that it is a bit 'tempermental' once your bundled product has been created - don't edit or change it - if you do it breaks somehow? hope this helps a little - still trying to get it working fully myself.! cheers Maria Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.