Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

acbatchelor

Pioneers
  • Posts

    201
  • Joined

  • Last visited

Profile Information

  • Real Name
    Adam
  • Gender
    Male
  • Location
    Tennessee, USA

acbatchelor's Achievements

  1. Found another problem. The order total div does not expand when there are extra modules like discounts and taxes, so the div border interferes with the text. Example image below: I have solved this problem by using "overflow: hidden" on the order_total_modules div. Add the following to your stylesheet: #order_total_modules { overflow: hidden; }
  2. I am using USPS Rate V4 Intl Rate V2: http://addons.oscommerce.com/info/8327/v,23 The only other USPS contribution that I saw for version 2.3 is USPS Methods which is converted from the version 2.2. That makes me nervous. Maybe I should try it and see though.
  3. I had that same formatting problem before on another contribution. I got it fixed, but I can't remember what I did. It was months ago and I can't figure it out. Also, I would like to point out a problem. On the checkout page where you select from one of the shipping and payment options, clicking anywhere in the table row highlights that row. However, the radio button does not get selected like it should. It says in the debugger: TypeError: 'undefined' is not an object (evaluating 'document.checkout_payment.payment') That error pops up every time I click one of the shipping or payment options. I have confirmed this error on my test site and on your demo site. Finally, I am having trouble with getting the USPS shipping to work. It works fine on the regular checkout_shipping.php page, but not on the SMART Checkout. It shows the error message from the USPS language file instead of the shipping options. I have compared the shipping modules code from checkout_shipping.php to SMART Checkout and I don't see anything different. Any ideas would be helpful.
  4. OK, I do know php pretty well but I am not experienced in working with external sources like Paypal or USPS. I give it a shot though. Also, from what I remember when I checked a long time ago; Express has less steps in the checkout and automatically returns the customer to your site when done. It also allows the customer to use Paypal without having an account. I found a link below describing the difference. http://www.oscommerce.com/forums/topic/299201-v2-2-rc2-paypal-function/page__view__findpost__p__1237173 Of course, this link is older and it may be different now.
  5. It says in the install file that Paypal Standard works but Paypal Express does not. Why would Standard work but not Express? Are you planning on fixing this soon? I really like this contribution but I use Paypal Express.
  6. thanks, your question made me realize the problem. i had an ampersand (&) in the filename. i guess it was a problem for this contribution for some reason because it worked before.
  7. Hi, i just installed this contribution and it works great, except for one thing. all of my product images on the site work fine except one. instead of the image showing up this shows up in its place. anyone have a clue what this is or why it only does this to one product.
  8. does anyone know how to add a quantity box to the product_info page. this way, a customer can add more than one item with the selected options to the cart instead of waiting till they get to their shopping cart. i used to have a quantity box before i had QT Pro, but now it does not work.
  9. can someone find a way to add attribute sets to multiple products at one time. maybe using check boxes to choose which products or at least to a whole category at one time. this could save me hours of work on my 2000 products. i would be extremely thankful. i bet others would too.
  10. thanks i don't need it immediately anyway. just a nice feature to add to my site in the future when i will add many images.
  11. is there a way to bulk upload additional images. i know some other additional images contributions are compatible with easy populate but this one is not.
  12. i double checked manually and with a file compare program and still managed to miss the error. i just checked manually for the third time and found the error in the first 10 lines of the file. <_< i missed one of the lines when replacing. now i feel stupid.
  13. i just decided to try this contribution and i really like it. everything is fine except for one small error. on my product_info page i get this message at the top of the page. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/monstes5/public_html/catalog/includes/functions/database.php on line 88 i think this error is in the product_info.php file because the error popped up after i edited it. i never messed with the database.php file. i double checked the modifications i made to the product_info file to see if i did something wrong during the installation but i didn't find anything wrong. my product_info page does have a few other contributions on it, so that might have caused the problem. here is my product_info code: <?php require('includes/application_top.php'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO); // Simple multi image addon $image_group = TINY_IMAGE_GROUP_SIZE; //Number of images to show per row/column $vertical_format = (ADDITIONAL_IMAGE_FORMAT == 'vertical'); $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, p.products_image_array, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); $product_info = tep_db_fetch_array($product_info_query); $products_image_array = unserialize($product_info['products_image_array']); if (!is_array($products_image_array)) $products_image_array = array(); // EOF Simple multi image addon $product_check = tep_db_fetch_array($product_check_query); // BOF Separate Pricing per Customer if (isset($_SESSION['sppc_customer_group_id']) && $_SESSION['sppc_customer_group_id'] != '0') { $customer_group_id = $_SESSION['sppc_customer_group_id']; } else { $customer_group_id = '0'; } // EOF Separate Pricing per Customer $navigation->set_snapshot(); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <?php # cDynamic Meta Tags /*<title><?php echo TITLE; ?>*/ require(DIR_WS_INCLUDES . 'meta_tags.php'); # ?> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <!-- Simple multi image addon --> <script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.js"></script> <script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.fancybox.js"></script> <script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.easing.js"></script> <script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.easydrag.handler.beta2.js"></script> <link rel="stylesheet" href="<?php echo DIR_WS_IMAGES ?>js/fancybox.css" type="text/css" media="screen"> <script type="text/javascript"> $(document).ready(function() { $("div#fancy a").fancybox({ 'zoomSpeedIn': 800, 'zoomSpeedOut': 700, 'hideOnContentClick' : false, 'overlayShow': <?php echo (DIM_BACKGROUND == 'true' ? 'true' : 'false'); ?>, 'overlayOpacity': <?php echo (BKG_LUMA/10); ?>, 'zoomOpacity': true, <?php if (SWING_POPUP == 'true') echo "'easingIn' : 'easeOutBack',"; ?> 'hideOnContentClick': false }); <?php if (DRAG_POPUP == 'true') echo '$("#fancy_outer").easydrag();'; ?> }); </script> <style type="text/css"> <!-- <?php if (SHOW_NAV == 'true') echo 'span#fancy_left_ico {left: 20px;} span#fancy_right_ico {right: 20px;}'; switch (POS_NAV) { case 'top': echo 'span.fancy_ico { top: 38px; }'; break; case 'bottom': echo 'span.fancy_ico { bottom: 20px; }'; break; default: echo 'span.fancy_ico { top: 50%; }'; break; } ?> // --> </style> <!--[if IE 6]> <style type="text/css"> div#fancy_bg {display: none;} div#fancy_content, div#fancy_inner, div#fancy_outer {background-color: transparent; background-image: url (); border: 1;} </style> <![endif]--> <!-- EOF Simple multi image addon --> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <div id="wrapper"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <table width="942" border="0" cellpadding="0" cellspacing="0" align="center"> <tr> <td style="background: url(images/template/left_border.gif) repeat-y;width:7px;height:100%;"></td> <td colspan="11" bgcolor="#0A0909"><!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <td 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_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <?php // Simple multi image addon if (!tep_db_num_rows($product_info_query)) { // EOF Simple multi image addon ?> <tr> <td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></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"><?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 } else { // Simple multi image addon section moved tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'"); if ($new_price = tep_get_products_special_price($product_info['products_id'])) { // BOF Separate Pricing per Customer if ($customer_group_id > 0) { // only need to check products_groups if customer is not retail $scustomer_group_price_query = tep_db_query("select customers_group_price from " . TABLE_PRODUCTS_GROUPS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id']. "' and customers_group_id = '" . $customer_group_id . "'"); if ($scustomer_group_price = tep_db_fetch_array($scustomer_group_price_query)) { $product_info['products_price']= $scustomer_group_price['customers_group_price']; } } // end if ($customer_group_id > 0) // EOF Separate Pricing per Customer $products_price = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; } else { // BOF Separate Pricing per Customer if ($customer_group_id > 0) { // only need to check products_groups if customer is not retail $scustomer_group_price_query = tep_db_query("select customers_group_price from " . TABLE_PRODUCTS_GROUPS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id']. "' and customers_group_id = '" . $customer_group_id . "'"); if ($scustomer_group_price = tep_db_fetch_array($scustomer_group_price_query)) { $product_info['products_price']= $scustomer_group_price['customers_group_price']; } } // end if ($customer_group_id > 0) // EOF Separate Pricing per Customer $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])); } if (tep_not_null($product_info['products_model'])) { $products_name = $product_info['products_name'] . '<br><span class="modelText">[' . $product_info['products_model'] . ']</span>'; } else { $products_name = $product_info['products_name']; } ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading" valign="top"><?php echo $products_name; ?></td> <td class="pageHeading" align="right" valign="top"><?php echo $products_price; ?></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td class="main"> <?php if (tep_not_null($product_info['products_image'])) { ?> <!-- Simple multi image addon --> <div id="fancy"> <table border="0" cellspacing="0" cellpadding="2" align="right"> <tr> <td align="center" class="smallText"> <?php $m_source = ''; $thumb = (class_exists('oscthumb') && CFG_MASTER_SWITCH == 'On'); if ($thumb) { preg_match('/"([^"]+)"/',htmlentities ( tep_image(DIR_WS_IMAGES . $product_info['products_image'],'','','','','',5), ENT_NOQUOTES), $image); $m_source=str_replace('&','&',$image[1]); } echo '<a rel="image_group" title="'.$product_info['products_name'].'" href="' . ($m_source ? $m_source : DIR_WS_IMAGES . $product_info['products_image']) . '" alt="' . $product_info['products_name'] . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"', false, 5) . '<br /></a>'; if(!$vertical_format) { echo ''; $row = 1; reset($products_image_array); while (list($key, $value) = each($products_image_array)) { if ($thumb) { $source = ''; preg_match('/"([^"]+)"/',htmlentities ( tep_image(DIR_WS_IMAGES . $value,'','','','','',5), ENT_NOQUOTES), $image); $source=str_replace('&','&',$image[1]); } echo '<a rel="image_group" title="'.$product_info['products_name'].'" href="' . ($source ? $source : DIR_WS_IMAGES . $value) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $value, $product_info['products_name'], TINY_IMAGE_WIDTH, TINY_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '</a>'; ++$row; if ($row > $image_group) { echo '<br />'; $row = 1; } } } echo '</td>'; if($vertical_format) { echo '<td>'; $row = 1; reset($products_image_array); while (list($key, $value) = each($products_image_array)) { if ($thumb) { $source = ''; preg_match('/"([^"]+)"/',htmlentities ( tep_image(DIR_WS_IMAGES . $value,'','','','','',5), ENT_NOQUOTES), $image); $source=str_replace('&','&',$image[1]); } echo '<a rel="image_group" title="'.$product_info['products_name'].'" href="' . ($source ? $source : DIR_WS_IMAGES . $value) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $value, $product_info['products_name'], TINY_IMAGE_WIDTH, TINY_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br />' . '</a>'; ++$row; if ($row > $image_group) { echo '</td><td>'; $row = 1; } } echo '</td>'; } ?> </tr><?php echo '<tr><td><a rel="image_group" title="'.$product_info['products_name'].'" href="' . tep_href_link(($m_source ? $m_source : DIR_WS_IMAGES . $product_info['products_image']), $product_info['products_name']) . '" target="_blank">' . TEXT_CLICK_TO_ENLARGE . '</a></td></tr>'; ?> </table> </div> <!-- EOF Simple multi image addon --> <?php } ?> <p><?php echo stripslashes($product_info['products_description']); ?></p> <?php $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'"); $products_attributes = tep_db_fetch_array($products_attributes_query); if ($products_attributes['total'] > 0) { ?> <table border="0" cellspacing="0" cellpadding="2"> <tr> <td class="main" colspan="2"><?php echo TEXT_PRODUCT_OPTIONS; ?></td> </tr> <?php $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { $products_options_array = array(); // BOF Linkmatics attributes sets plus $products_options_query = tep_db_query(" SELECT pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix , pase.sort_order FROM " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_ATTRIBUTES_SETS_TO_PRODUCTS . " pas2pa, " . TABLE_PRODUCTS_ATTRIBUTES_SETS . " pas, " . TABLE_PRODUCTS_ATTRIBUTES_SETS_ELEMENTS . " pase, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov WHERE pa.products_id = '" . (int)$_GET['products_id'] . "' AND pa.options_id = '" . $products_options_name['products_options_id'] . "' AND pas2pa.products_id = pa.products_id AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id AND pas.products_options_id = pa.options_id AND pase.products_attributes_sets_id = pas.products_attributes_sets_id AND pase.options_values_id = pa.options_values_id AND pov.products_options_values_id = pa.options_values_id AND pov.language_id = '" . $languages_id . "' ORDER BY pase.sort_order, pa.options_values_price"); // >>>>> BOF Linkmatics attributes sets plus patch v1.01 if (tep_db_num_rows($products_options_query)== 0 ) { $products_options_query = tep_db_query(" SELECT pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix , pa.options_values_id FROM " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov WHERE pa.products_id = '" . (int)$_GET['products_id'] . "' AND pa.options_id = '" . $products_options_name['products_options_id'] . "' AND pov.products_options_values_id = pa.options_values_id AND pov.language_id = '" . $languages_id . "' ORDER BY pa.options_values_price"); } // <<<<< EOF Linkmatics attributes sets plus patch v1.01 // EOF Linkmatics attributes sets plus while ($products_options = tep_db_fetch_array($products_options_query)) { $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); if ($products_options['options_values_price'] != '0') { $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; } } if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) { $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]; } else { $selected_attribute = false; } ?> <tr> <td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td> <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td> </tr> <?php } ?> </table> <?php echo 'Quantity: '?><input type="text" name="quantity" value="1" maxlength="2" size="2"> <?php } ?> </td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'"); $reviews = tep_db_fetch_array($reviews_query); if ($reviews['count'] > 0) { ?> <tr> <td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } if (tep_not_null($product_info['products_url'])) { ?> <tr> <td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php } if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) { ?> <tr> <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td> </tr> <?php } else { ?> <tr> <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td> </tr> <?php } ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></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 class="main"><?php echo '<a href="javascript: history.go(-1)">' . tep_image_button('button_back.gif', IMAGE_BUTTON_BACK) . '</a>'; ?></td> <td class="main" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td> <?php //if ((USE_CACHE == 'true') && empty($SID)) { //echo tep_cache_also_purchased(3600); //} else { //include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS); //} } ?> </td> </tr> </table></form></td> </td> </tr> </table></form></td> <!-- body_text_eof //--> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> </td> <td style="background: url(images/template/right_border.gif) repeat-y;width:7px;height:100%;"></td> </tr> </table> </div> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> and just in case it is needed, here is the code for lines 88-90 on my database.php file: function tep_db_fetch_array($db_query) { return mysql_fetch_array($db_query, MYSQL_ASSOC); }
  14. i don't know why but you have "//" in front of every line of code. the only lines you should have "//" in are: ---------------------------------------------------- // BOF Linkmatics attributes sets plus // EOF Linkmatics attributes sets plus // START: Product Extra Fields // END: Product Extra Fields ---------------------------------------------------- remove all the rest
×
×
  • Create New...