akosh Posted June 8, 2005 Share Posted June 8, 2005 Would it be possible to add the shipping cost to the total? Quote Link to comment Share on other sites More sharing options...
wheeloftime Posted June 8, 2005 Author Share Posted June 8, 2005 Would it be possible to add the shipping cost to the total? <{POST_SNAPBACK}> With that you mean to add the cart total to the estimated shipping costs ? I guess that shouldn't be much of a problem. Quote Link to comment Share on other sites More sharing options...
akosh Posted June 8, 2005 Share Posted June 8, 2005 With that you mean to add the cart total to the estimated shipping costs ?I guess that shouldn't be much of a problem. <{POST_SNAPBACK}> Yes, that's what I meant. Quote Link to comment Share on other sites More sharing options...
wheeloftime Posted June 8, 2005 Author Share Posted June 8, 2005 Yes, that's what I meant. <{POST_SNAPBACK}> akosh, I did a quick test to have the cart total with the estimated shipping costs and although by itself not a problem I am bit wondering what output you have in mind ? Looking at my own shipping options they can be up to three or four and then the question arises for which one to add the cart total and if that might be useful. Or if you would put a grand total with every shipping option the output wouldn't be very readable anymore. Maybe you have only one shipping option and it would make more sense ?! Quote Link to comment Share on other sites More sharing options...
akosh Posted June 8, 2005 Share Posted June 8, 2005 akosh, I did a quick test to have the cart total with the estimated shipping costs and although by itself not a problem I am bit wondering what output you have in mind ? Looking at my own shipping options they can be up to three or four and then the question arises for which one to add the cart total and if that might be useful. Or if you would put a grand total with every shipping option the output wouldn't be very readable anymore. Maybe you have only one shipping option and it would make more sense ?! <{POST_SNAPBACK}> I was thinking fo something like this: http://www2.mio-tech.be/shop/product_info....products_id=150 (add it to the cart) Quote Link to comment Share on other sites More sharing options...
wheeloftime Posted June 8, 2005 Author Share Posted June 8, 2005 I was thinking fo something like this: http://www2.mio-tech.be/shop/product_info....products_id=150 (add it to the cart) <{POST_SNAPBACK}> I see what you mean and it looks good but would mean a whole different approach. It is not something I have planned as I am happy with it as it is now but as with all contributions you can shape it to your needs. Quote Link to comment Share on other sites More sharing options...
akosh Posted June 9, 2005 Share Posted June 9, 2005 Do you know where I could place </form> to get the shipping estimator to work? <?php /* $Id: shopping_cart.php,v 1.73 2003/06/09 23:03:56 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require("includes/application_top.php"); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_SHOPPING_CART); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_SHOPPING_CART)); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="0" cellpadding="5"> <tr> <td class="line" width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_SHOPPING_CART, 'action=update_product')); ?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <tr> <td><?php include(DIR_WS_MODULES . FILENAME_ESTIMATED_SHIPPING); ?></td> </tr> </table></td> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php if ($cart->count_contents() > 0) { ?> <tr> <td> <?php $info_box_contents = array(); $info_box_contents[0][] = array('align' => 'center', 'params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_REMOVE); $info_box_contents[0][] = array('params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_PRODUCTS); $info_box_contents[0][] = array('align' => 'center', 'params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_QUANTITY); $info_box_contents[0][] = array('align' => 'right', 'params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_TOTAL); $any_out_of_stock = 0; $products = $cart->get_products(); for ($i=0, $n=sizeof($products); $i<$n; $i++) { // Push all attributes information in an array if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) { while (list($option, $value) = each($products[$i]['attributes'])) { echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value); $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 = '" . $products[$i]['id'] . "' and pa.options_id = '" . $option . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $value . "' 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); $products[$i][$option]['products_options_name'] = $attributes_values['products_options_name']; $products[$i][$option]['options_values_id'] = $value; $products[$i][$option]['products_options_values_name'] = $attributes_values['products_options_values_name']; $products[$i][$option]['options_values_price'] = $attributes_values['options_values_price']; $products[$i][$option]['price_prefix'] = $attributes_values['price_prefix']; } } } for ($i=0, $n=sizeof($products); $i<$n; $i++) { if (($i/2) == floor($i/2)) { $info_box_contents[] = array('params' => 'class="productListing-even"'); } else { $info_box_contents[] = array('params' => 'class="productListing-odd"'); } $cur_row = sizeof($info_box_contents) - 1; $info_box_contents[$cur_row][] = array('align' => 'center', 'params' => 'class="productListing-data" valign="top"', 'text' => tep_draw_checkbox_field('cart_delete[]', $products[$i]['id'])); $products_name = '<table border="0" cellspacing="2" cellpadding="2">' . ' <tr>' . //' <td class="productListing-data" align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . tep_image(DIR_WS_IMAGES . $products[$i]['image'], $products[$i]['name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>' . ' <td class="productListing-data" valign="top"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '"><b>' . $products[$i]['name'] . '</b></a>'; if (STOCK_CHECK == 'true') { $stock_check = tep_check_stock($products[$i]['id'], $products[$i]['quantity']); if (tep_not_null($stock_check)) { $any_out_of_stock = 1; $products_name .= $stock_check; } } if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) { reset($products[$i]['attributes']); while (list($option, $value) = each($products[$i]['attributes'])) { $products_name .= '<br><small><i> - ' . $products[$i][$option]['products_options_name'] . ': ' . $products[$i][$option]['products_options_values_name'] . '</i></small>'; } } $products_name .= ' </td>' . ' </tr>' . '</table>'; $info_box_contents[$cur_row][] = array('params' => 'class="productListing-data"', 'text' => $products_name); $info_box_contents[$cur_row][] = array('align' => 'center', 'params' => 'class="productListing-data" valign="top"', 'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4"') . tep_draw_hidden_field('products_id[]', $products[$i]['id'])); $info_box_contents[$cur_row][] = array('align' => 'right', 'params' => 'class="productListing-data" valign="top"', 'text' => '<b>' . $currencies->display_price($products[$i]['final_price'], tep_get_tax_rate($products[$i]['tax_class_id']), $products[$i]['quantity']) . '</b>'); } new productListingBox($info_box_contents); ?> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td align="right" class="main"><b><?php echo SUB_TITLE_SUB_TOTAL; ?> <?php echo $currencies->format($cart->show_total()); ?></b></td> </tr> <?php if ($any_out_of_stock == 1) { if (STOCK_ALLOW_CHECKOUT == 'true') { ?> <tr> <td class="stockWarning" align="center"><br><?php echo OUT_OF_STOCK_CAN_CHECKOUT; ?></td> </tr> <?php } else { ?> <tr> <td class="stockWarning" align="center"><br><?php echo OUT_OF_STOCK_CANT_CHECKOUT; ?></td> </tr> <?php } } ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td class="main"><?php echo tep_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART); ?></td> <?php $back = sizeof($navigation->path)-2; if (isset($navigation->path[$back])) { ?> <td class="main"><?php echo '<a href="' . tep_href_link($navigation->path[$back]['page'], tep_array_to_string($navigation->path[$back]['get'], array('action')), $navigation->path[$back]['mode']) . '">' . tep_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING) . '</a>'; ?></td> <?php } ?> <td align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . tep_image_button('button_checkout.gif', IMAGE_BUTTON_CHECKOUT) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } else { ?> <tr> <td align="center" class="main"><?php new infoBox(array(array('text' => TEXT_CART_EMPTY))); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox"> <tr class="infoBoxContents"> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> <td align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <?php } ?> </table></td> </tr> </table></td> </tr> </table> </td> <!-- body_text_eof //--> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Quote Link to comment Share on other sites More sharing options...
wheeloftime Posted June 9, 2005 Author Share Posted June 9, 2005 Do you know where I could place </form> to get the shipping estimator to work? <{POST_SNAPBACK}> akosh, yes, read post #20 on page 1 of this thread where rezdwan gives a working solution for use on the shopping cart page. Quote Link to comment Share on other sites More sharing options...
akosh Posted June 9, 2005 Share Posted June 9, 2005 akosh, yes, read post #20 on page 1 of this thread where rezdwan gives a working solution for use on the shopping cart page. <{POST_SNAPBACK}> Yes I know, I have read that, but I'm trying to to place the shipping estimator box beside the shopping cart. <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_SHOPPING_CART, 'action=update_product')); ?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <tr> <td><?php include(DIR_WS_MODULES . FILENAME_ESTIMATED_SHIPPING); ?></td> </tr> </table></td> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> ..... Quote Link to comment Share on other sites More sharing options...
wheeloftime Posted June 9, 2005 Author Share Posted June 9, 2005 Yes I know, I have read that, but I'm trying to to place the shipping estimator box beside the shopping cart. <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_SHOPPING_CART, 'action=update_product')); ?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <tr> <td><?php include(DIR_WS_MODULES . FILENAME_ESTIMATED_SHIPPING); ?></td> </tr> </table></td> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> ..... <{POST_SNAPBACK}> I think that will be a tough place but it might work as long as you keep in mind that the estimated shipping box MUST be called upon AFTER the closing </form> tag otherwise the ES box will not work ! Quote Link to comment Share on other sites More sharing options...
akosh Posted June 9, 2005 Share Posted June 9, 2005 I think that will be a tough place but it might work as long as you keep in mind that the estimated shipping box MUST be called upon AFTER the closing </form> tag otherwise the ES box will not work ! <{POST_SNAPBACK}> Actually, I don't think it can be done, at least I can't do it. I can put it on the right side, but not the left. The shipping estimator will always be above the shopping cart if you want it on the left side. Do you have any ideas? Quote Link to comment Share on other sites More sharing options...
wheeloftime Posted June 9, 2005 Author Share Posted June 9, 2005 (edited) Actually, I don't think it can be done, at least I can't do it. I can put it on the right side, but not the left. The shipping estimator will always be above the shopping cart if you want it on the left side.? Do you have any ideas? <{POST_SNAPBACK}> Well, I guess it would mean a total reconstructuring of the shopping cart page as with the columns as there are default now a shipping calculator on the left or right won't fit and/or look nice. Something like the example you gave would be a nice solution but not something quickly done. I will have a second look at it though but can't promise I will come up with something similar as I have little to no time to spend on programming right now and near future. Edited June 9, 2005 by wheeloftime Quote Link to comment Share on other sites More sharing options...
willross Posted June 9, 2005 Share Posted June 9, 2005 Is there a current contribution that displays shipping fees in the shopping cart when a person enters a postal code? If not, I may want to start building one. I have noticed this in a few shopping systems out there. Quote · willross ·········· Link to comment Share on other sites More sharing options...
wheeloftime Posted June 9, 2005 Author Share Posted June 9, 2005 Is there a current contribution that displays shipping fees in the shopping cart when a person enters a postal code? If not, I may want to start building one. I have noticed this in a few shopping systems out there. <{POST_SNAPBACK}> I thought there is one which is country and state based which you can show in the shopping cart but one based on postal code I don't believe there already is. Quote Link to comment Share on other sites More sharing options...
willross Posted June 9, 2005 Share Posted June 9, 2005 wheeloftime Well, I better start working. I will ask a couple of the admins where the estimated (or exact) shipping data is coming from and what carriers are used. If it comes directly from the carrier, the shopping cart might have to be SSL'd. If it is querying a table that was previously downloaded from the carrier, then not. Quote · willross ·········· Link to comment Share on other sites More sharing options...
wheeloftime Posted June 9, 2005 Author Share Posted June 9, 2005 wheeloftime Well, I better start working. I will ask a couple of the admins where the estimated (or exact) shipping data is coming from and what carriers are used. If it comes directly from the carrier, the shopping cart might have to be SSL'd. If it is querying a table that was previously downloaded from the carrier, then not. <{POST_SNAPBACK}> Will, Some will use a realtime system provided by their postal system, many will use zone, table or whatever more shipping modules there are available. My estimated shipping cost module mimics the first checkout page without needing any SSL as there is no checkout or any other vulnerable data involved. If you study the checkout_shipping page you will find an interaction between availabe shipping modules and the order class and from there you will have to find a way to collect the correct data based upon the information you have from your customer. Good luck and I am curious which direction you will go ! grtz, Howard Quote Link to comment Share on other sites More sharing options...
willross Posted June 9, 2005 Share Posted June 9, 2005 wheeloftime Thanks. I will try building based on what shipping method or module is chosen for the store or product(s) in the cart. Then provide a <input> or <select> or combination of both that corresponds with the required info (zip code, country, etc.). It might not be too bad if I pull code from the checkout_shipping page. That could help with compatibility (free shipping, zone based rates, etc.). Quote · willross ·········· Link to comment Share on other sites More sharing options...
AverageJoe Posted June 26, 2005 Share Posted June 26, 2005 I'd like to thank wheeloftime for the great contribution, and all the help he's been giving to everyone in this thread. I just tried installing this contribution (adding it to the index from step 6B) and I keep getting this error: Fatal error: Cannot instantiate non-existent class: httpclient in /home/elaine/domains/creativeworks4u.com/public_html/shop/includes/modules/shipping/ups.php on line 247 Has anyone seen this problem before? Quote Link to comment Share on other sites More sharing options...
wheeloftime Posted June 26, 2005 Author Share Posted June 26, 2005 I'd like to thank wheeloftime for the great contribution, and all the help he's been giving to everyone in this thread. I just tried installing this contribution (adding it to the index from step 6B) and I keep getting this error: Fatal error: Cannot instantiate non-existent class: httpclient in /home/elaine/domains/creativeworks4u.com/public_html/shop/includes/modules/shipping/ups.php on line 247 Has anyone seen this problem before? <{POST_SNAPBACK}> Joe, It's a strange error for this but as I haven't tested it with the ups module it could be some incompatability between that and est. shipping. Remember not to install the est. shipping as an infobox plus within the index page. Both together will give problems so it's either one or the other method ! Quote Link to comment Share on other sites More sharing options...
Guest Posted July 3, 2005 Share Posted July 3, 2005 AverageJoe Have you come up with a solution to the fatal error. I have the same problem. Quote Link to comment Share on other sites More sharing options...
AverageJoe Posted July 3, 2005 Share Posted July 3, 2005 sorry bear, I tried the ship in cart contrib and got that one working, so I didn't follow up on this one.... Quote Link to comment Share on other sites More sharing options...
akosh Posted July 6, 2005 Share Posted July 6, 2005 It looks like the default country is set to be the same one that is defined in the store configuration? How do you change this? Quote Link to comment Share on other sites More sharing options...
wheeloftime Posted July 6, 2005 Author Share Posted July 6, 2005 It looks like the default country is set to be the same one that is defined in the store configuration? How do you change this? <{POST_SNAPBACK}> Look in (catalog)/includes/modules/estimated_shipping.php for if ((tep_session_is_registered('customer_id')) && (!tep_not_null($country))) { $country = $customer_country_id; } else { if (!tep_not_null($country)) { $country = STORE_COUNTRY; } } Replace STORE_COUNTRY with something else. Howard Quote Link to comment Share on other sites More sharing options...
shaunklink Posted July 15, 2005 Share Posted July 15, 2005 Joe, It's a strange error for this but as I haven't tested it with the ups module it could be some incompatability between that and est. shipping. Remember not to install the est. shipping as an infobox plus within the index page. Both together will give problems so it's either one or the other method ! <{POST_SNAPBACK}> I am getting the exact same error. Does anyone have any fix for this? were going to be using other shippers as well, can I expect this error with them as well? almost to good to be true Quote Link to comment Share on other sites More sharing options...
shaunklink Posted July 15, 2005 Share Posted July 15, 2005 The weirdest thing is happening when I use this contrib. (on top of not working with ANY UPS or USPS shipping module) I am using STS and it's working quite well so far. When I installed this contrib and tested it with a flat rate shipping method (which seems to be the only way to make it work), it showed the box just fine. However, It is removing my footer text (not the included footer.php stuff from osCommerce. Since I'm using STS I have my own footer text at the bottom of the page) and placeing it within the shipping estimator window. It's kind of funny, I have no idea how this is happening. I suggest in your documentation you state that this does not work with any other module except flat rate shipping, etc. 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.