Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

wishlist problem can't add product to cart


Recommended Posts

I Installed the wislist contrib today. Looks pretty good. The only problem I seem to have after installing it is not being able to add a product (when you're in product.info page) to the cart. The only way I can get a product into the cart is by firstly adding it to my wishlist and then clicking 'move to cart' in wishlist, which in turn puts the product in the cart.

I've been scanning the forum and have seen a number of threads on problems with getting items to appear in the cart after loading certain contribs, but nothing relating to the wishlist contrib.

 

Any Ideas on this one?

 

Cheers, Rob

Sometimes I think I understand everything, then I regain consciousness

Link to comment
Share on other sites

Hi Matti, I followed the link and counted the form tags. Sorry, but I can't see where you're coming from.

Here's my code :

<?php

/*

 $Id: product_info.php,v 1.92 2003/02/14 05:51:21 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_PRODUCT_INFO);

?>

<!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">

<script language="javascript"><!--

function popupWindow(url) {

 window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizab
le=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=1
50')

}

//--></script>



</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="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

 $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_mediumimage, 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 = '" . $languages_id . "'");

 if (!tep_db_num_rows($product_info_query)) { // product not found in database

?>

     <tr>

       <td class="main"><br><?php echo TEXT_PRODUCT_NOT_FOUND; ?></td>

     </tr>

     <tr>

       <td align="right"><br><a href="<?php echo tep_href_link(FILENAME_DEFAULT); ?>"><?php echo tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></a></td>

     </tr>

<?php

 } else {

   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 = '" . $languages_id . "'");

   $product_info = tep_db_fetch_array($product_info_query);



   if ($new_price = tep_get_products_special_price($product_info['products_id'])) {

     $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 {

     $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));

   }

?>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="2">

         <tr height="40">

           <td class="pageHeading"><?php echo $product_info['products_name']; ?></td>

           <td align="right" class="pageHeading"><?php echo $products_price; ?></td>

         </tr>

<?php

   if (PRODUCT_LIST_MODEL > 0) {

     echo '          <tr>' . "n" .

          '            <td colspan="2" class="pageHeading">' . $product_info['products_model'] . '</td>' . "n" .

          '          </tr>' . "n";

   }

?>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

     </tr>

     <tr>

       <td class="main"><table border="0" cellspacing="0" cellpadding="2" align="left">

<tr>

           <td align="center" class="smallText">

<script language="javascript"><!--

document.write('<?php echo '<a href="javascript:popupWindow('' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '')">' . tep_image(DIR_WS_IMAGES . $product_info['products_mediumimage'], addslashes($product_info['products_name']), MEDIUM_IMAGE_WIDTH, MEDIUM_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>');

//--></script> 



<noscript>

<?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_mediumimage']) . '">' . tep_image(DIR_WS_IMAGES . $product_info['products_mediumimage'], $product_info['products_name'], MEDIUM_IMAGE_WIDTH, MEDIUM_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>

</noscript>

           </td>

         </tr>



       </table><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 = '" . $languages_id . "'");

   $products_attributes = tep_db_fetch_array($products_attributes_query);

   if ($products_attributes['total'] > 0) {

     echo '<b>' . TEXT_PRODUCT_OPTIONS . '</b><br>' .

          '<table border="0" cellpadding="0" cellspacing"0">';

     $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 = '" . $languages_id . "'");

     while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {

       $selected = 0;

       $products_options_array = array();

       echo '<tr><td class="main">' . $products_options_name['products_options_name'] . ':</td><td>' . "n";

       $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . $products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . $languages_id . "'");

       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'])) .') ';

         }

       }

       echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]);

       echo '</td></tr>';

     }

     echo '</table>';

   }

?>

       </td>

     </tr>

<?php

   $reviews = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "'");

   $reviews_values = tep_db_fetch_array($reviews);

   if ($reviews_values['count'] > 0) {

?>

     <tr>

       <td class="main"><br><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews_values['count']; ?></td>

     </tr>

<?php

   }



   if (tep_not_null($product_info['products_url'])) {

?>

     <tr>

       <td class="main"><br><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td>

     </tr>

<?php

   }



   if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {

?>

     <tr>

       <td align="center" class="smallText"><br><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td>

     </tr>

<?php

   } else {

?>

     <tr>

       <td align="center" class="smallText"><br><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td>

     </tr>

<?php

   }

?>

     <tr>

       <td><br><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

           <td align="left" class="main"><a href="<? echo tep_href_link(FILENAME_PRODUCT_REVIEWS, substr(tep_get_all_get_params(), 0, -1)); ?>"><?php echo tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS); ?></a></td>

           <td align="center" class="main"><input type="hidden" name="products_id" value="<?php echo $product_info_values['products_id']; ?>"><?php echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></form></td>



<td align="right" class="main"><form name="wishlist_quantity" method="post" action="<?php echo tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_wishlist', 'NONSSL'); ?>">

                         <input type="hidden" name="products_id" value="<?php echo $product_info_values['products_id']; ?>">

                         <input type="hidden" name="products_model" value="<?php echo $product_info_values['products_model']; ?>">

                         <input type="hidden" name="products_name" value="<?php echo $product_info_values['products_name']; ?>">

                         <input type="hidden" name="products_price" value="<?php echo $product_info_values['products_price']; ?>">

                         <input type="hidden" name="final_price" value="<?php echo $product_info_values['final_price']; ?>">

                         <input type="hidden" name="products_tax" value="<?php echo $product_info_values['products_tax']; ?>">  

   

                             <?php if (tep_session_is_registered('customer_id')) echo tep_image_submit('button_wishlist.gif', IMAGE_BUTTON_ADD_WISHLIST); ?>

                       </form></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><br>



<?php

   if ( (USE_CACHE == 'true') && !defined('SID')) {

     echo tep_cache_also_purchased(3600);

   } else {

     include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);

   }

 }

?>

       </td>

     </tr>

   </table></form></td>

<!-- body_text_eof //-->

  <!-- <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> //-->

<!-- right_navigation //-->

<?php // require(DIR_WS_INCLUDES . 'column_right.php'); ?> 

<!-- right_navigation_eof //-->

   </table></td>

 </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'); ?>

Sometimes I think I understand everything, then I regain consciousness

Link to comment
Share on other sites

Gary,

I can't see by looking at the code I have posted where I have a nested form. Pls explain how you think they are nested in my code.

I can see 1 * <form name=.......> and 2 * </form> tags. Shouldn't there be another opening form tag something like <form name=cart.....> ??

 

Matti,

I pasted your product_info.php code into my cart and still it dosn't add items to the cart.

 

BTW I've also noticed that when I try and add items to my wishlist - it dosn't anymore :?

Sometimes I think I understand everything, then I regain consciousness

Link to comment
Share on other sites

Sorry Gary,

You're right about the form tags. I was looking for the usual <form> or </form> tags you see in HTML.

So, I've removed the last </form> at line 192, but still have the same problem with not being able to add items to the cart and wishlist. :(

Sometimes I think I understand everything, then I regain consciousness

Link to comment
Share on other sites

Morning Burt,

 

I've removed this part of the code:

 

<td align="right" class="main"><form name="wishlist_quantity" method="post" action="<?php echo tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_wishlist', 'NONSSL'); ?>"> 

                         <input type="hidden" name="products_id" value="<?php echo $product_info_values['products_id']; ?>"> 

                         <input type="hidden" name="products_model" value="<?php echo $product_info_values['products_model']; ?>"> 

                         <input type="hidden" name="products_name" value="<?php echo $product_info_values['products_name']; ?>"> 

                         <input type="hidden" name="products_price" value="<?php echo $product_info_values['products_price']; ?>"> 

                         <input type="hidden" name="final_price" value="<?php echo $product_info_values['final_price']; ?>"> 

                         <input type="hidden" name="products_tax" value="<?php echo $product_info_values['products_tax']; ?>">  

   

                             <?php if (tep_session_is_registered('customer_id')) echo tep_image_submit('button_wishlist.gif', IMAGE_BUTTON_ADD_WISHLIST); ?> 

                       </form></td> 

         </tr> 

       </table></td> 

     </tr> 

     <tr> 

       <td><br>

 

plus also that odd </form>

Still not adding items to the cart.

 

I'm going to upload my cart to my isp today, so will be able to give you a url shortly.

 

Cheers, Rob

Sometimes I think I understand everything, then I regain consciousness

Link to comment
Share on other sites

If you remove that part then the wishlist items will not be listed out in the database so harder if you want to pull a wishlist report.

 

The wishlist mod is not working with MS2 100% - on my tests so far it is a iffy proposition sometimes work - sometimes no.

Johnson and I plan to redo this as soon as our schedules permit

Link to comment
Share on other sites

Thanks Benjamin,

From what you say, I'll think I'll take it off my cart for the time being.

I look forward to the new revision - it's a very good selling tool for a site to have.

 

Rob

Sometimes I think I understand everything, then I regain consciousness

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...