Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Buy now/ Add to cart button not working


aodfan

Recommended Posts

Awhile back I had added a quantity feature to my product_listing.php, it had been working fine up til now for some reason when the "Add to Cart" button is selected it just takes me to the product_info.php. and does not add to cart. Here is my code from product_listing.php: Any help would be greatful! :)

<?php
/*
 $Id: product_listing.php,v 1.44 2003/06/09 22:49:59 hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

if (isset($pw_mispell)){ //added for search enhancements mod
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr><td><?php echo $pw_string; ?></td></tr>
</table>
<?php
} //end added search enhancements mod
 $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');
// fix counted products

 if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) {
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
 <tr>
<td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>
<td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>
 </tr>
</table>
<?php
 }

 $list_box_contents = array();

 for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
switch ($column_list[$col]) {
  case 'PRODUCT_LIST_MODEL':
	$lc_text = TABLE_HEADING_MODEL;
	$lc_align = 'center';
	break;
  case 'PRODUCT_LIST_NAME':
	$lc_text = TABLE_HEADING_PRODUCTS;
	$lc_align = 'center';
	break;
  case 'PRODUCT_LIST_MANUFACTURER':
	$lc_text = TABLE_HEADING_MANUFACTURER;
	$lc_align = 'center';
	break;
  case 'PRODUCT_LIST_PRICE':
	$lc_text = TABLE_HEADING_PRICE;
	$lc_align = 'center';
	break;
  case 'PRODUCT_LIST_QUANTITY':
	$lc_text = TABLE_HEADING_QUANTITY;
	$lc_align = 'right';
	break;
  case 'PRODUCT_LIST_WEIGHT':
	$lc_text = TABLE_HEADING_WEIGHT;
	$lc_align = 'right';
	break;
  case 'PRODUCT_LIST_IMAGE':
	$lc_text = TABLE_HEADING_IMAGE;
	$lc_align = 'center';
	break;
  case 'PRODUCT_LIST_BUY_NOW':
	$lc_text = TABLE_HEADING_BUY_NOW;
	$lc_align = 'center';
	break;
}

if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) {
  $lc_text = tep_create_sort_heading($HTTP_GET_VARS['sort'], $col+1, $lc_text);
}

$list_box_contents[0][] = array('align' => $lc_align,
								'params' => 'class="productListing-heading"',
								'text' => ' ' . $lc_text . ' ');
 }

 if ($listing_split->number_of_rows > 0) {
$rows = 0;
$listing_query = tep_db_query($listing_split->sql_query);
while ($listing = tep_db_fetch_array($listing_query)) {
  $rows++;

  if (($rows/2) == floor($rows/2)) {
	$list_box_contents[] = array('params' => 'class="productListing-even"');
  } else {
	$list_box_contents[] = array('params' => 'class="productListing-odd"');
  }

  $cur_row = sizeof($list_box_contents) - 1;

  for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {
	$lc_align = '';

	switch ($column_list[$col]) {
	  case 'PRODUCT_LIST_MODEL':
	$fldname = $listing['products_model'];
	if ($HTTP_GET_VARS['keywords'] != "" )
		{
		$HTTP_GET_VARS['keywords'] = strtolower($HTTP_GET_VARS['keywords']);
		$string_to_split = strtoupper($HTTP_GET_VARS['keywords']); // is result UPPERCASE ?
		$tok = split(" ", $string_to_split);
		$size = sizeof($tok);
		for ($i = 0; $i < $size; $i++) 
		$fldname = str_replace($tok[$i], '<span style="background-color: ' . SEARCH_RESULT_BACKGROUND_COLOR . '">' . $tok[$i] . '</span>', $fldname);

		$string_to_split = $HTTP_GET_VARS['keywords']; // is result LOWERCASE ?
		$tok = split(" ", $string_to_split);
		$size = sizeof($tok);
		for ($i = 0; $i < $size; $i++) 
		$fldname = str_replace($tok[$i], '<span style="background-color: ' . SEARCH_RESULT_BACKGROUND_COLOR . '">' . $tok[$i] . '</span>', $fldname);

		$string_to_split = ucwords($HTTP_GET_VARS['keywords']); // is result starting with 1 uppercase and rest is lowercase ?
		$tok = split(" ", $string_to_split);
		$size = sizeof($tok);
		for ($i = 0; $i < $size; $i++) 
		$fldname = str_replace($tok[$i], '<span style="background-color: ' . SEARCH_RESULT_BACKGROUND_COLOR . '">' . $tok[$i] . '</span>', $fldname); 
		}		  
		$lc_text = ' ' . $fldname . ' ';
		break;
	  case 'PRODUCT_LIST_NAME':
		if ($HTTP_GET_VARS['manufacturers_id']) {
		  $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id'], 'NONSSL') . '">' . $listing['products_name'] . '</a>';
		} else {
	$fldname = $listing['products_name'];
	if ($HTTP_GET_VARS['keywords'] != "" )
		{
		$HTTP_GET_VARS['keywords'] = strtolower($HTTP_GET_VARS['keywords']);
		$string_to_split = strtoupper($HTTP_GET_VARS['keywords']); // is result UPPERCASE ?
		$tok = split(" ", $string_to_split);
		$size = sizeof($tok);
		for ($i = 0; $i < $size; $i++) 
		$fldname = str_replace($tok[$i], '<span style="background-color: ' . SEARCH_RESULT_BACKGROUND_COLOR . '">' . $tok[$i] . '</span>', $fldname);

		$string_to_split = $HTTP_GET_VARS['keywords']; // is result LOWERCASE ?
		$tok = split(" ", $string_to_split);
		$size = sizeof($tok);
		for ($i = 0; $i < $size; $i++) 
		$fldname = str_replace($tok[$i], '<span style="background-color: ' . SEARCH_RESULT_BACKGROUND_COLOR . '">' . $tok[$i] . '</span>', $fldname);

		$string_to_split = ucwords($HTTP_GET_VARS['keywords']); // is result starting with 1 uppercase and rest is lowercase ?
		$tok = split(" ", $string_to_split);
		$size = sizeof($tok);
		for ($i = 0; $i < $size; $i++) 
		$fldname = str_replace($tok[$i], '<span style="background-color: ' . SEARCH_RESULT_BACKGROUND_COLOR . '">' . $tok[$i] . '</span>', $fldname);
		}
		  $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $fldname . '</a> ';
		}
		break;
	  case 'PRODUCT_LIST_MANUFACTURER':
		$lc_align = 'center';
		$lc_text = ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing['manufacturers_id']) . '">' . $listing['manufacturers_name'] . '</a> ';
		break;
	  case 'PRODUCT_LIST_PRICE':
		$lc_align = 'center';
		 if (tep_get_products_special_price($listing['products_id'])) {
		  $lc_text = ' <s>' .  $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</s>  <span class="productSpecialPrice">' . $currencies->display_price(tep_get_products_special_price($listing['products_id']), tep_get_tax_rate($listing['products_tax_class_id'])) . '</span> ';
		} else {
		  $lc_text = ' ' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . ' ';
		}
		break;
	  case 'PRODUCT_LIST_QUANTITY':
		$lc_align = 'right';
		$lc_text = ' ' . $listing['products_quantity'] . ' ';
		break;
	  case 'PRODUCT_LIST_WEIGHT':
		$lc_align = 'right';
		$lc_text = ' ' . $listing['products_weight'] . ' ';
		break;
	  case 'PRODUCT_LIST_IMAGE':
		$lc_align = 'center';
		if (isset($HTTP_GET_VARS['manufacturers_id'])) {
		  $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>';
		} else {
		  $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a> ';
		}
		break;
	  case 'PRODUCT_LIST_BUY_NOW':
	  $lc_align = 'center';
	  $lc_text = tep_draw_form('buy_now' . $listing['products_id'], tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']), 'POST') . TEXT_QTY . tep_draw_input_field('list_quantity', '1', 'size=2') .'   '. tep_image_submit('button_addcart_small.gif', IMAGE_BUTTON_IN_CART) . '</form> ';
		break;
	}

	$list_box_contents[$cur_row][] = array('align' => $lc_align,
										   'params' => 'class="productListing-data"',
										   'text'  => $lc_text);
  }
}

new productListingBox($list_box_contents);
 } else {
$list_box_contents = array();

$list_box_contents[0] = array('params' => 'class="productListing-odd"');
$list_box_contents[0][] = array('params' => 'class="productListing-data"',
							   'text' => TEXT_NO_PRODUCTS);

new productListingBox($list_box_contents);
 }

 if ( ($listing_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3')) ) {
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
 <tr>
<td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td>
<td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td>
 </tr>
</table>
<?php
 }
?>

Link to comment
Share on other sites

Hello aodfan,

 

If the products you're referring to have attributes, it has to go to product_info.php first.

 

Before looking into it any further, I thought it would be good to be able to rule that out as your cause.

 

TC

Link to comment
Share on other sites

wondering what i would need to put just to make the button a "more detail or more info" so it just takes you to the product. cause i know the link for the add to cart is buy_now, so how would i just make it link to the product info for that product? Thanks

Link to comment
Share on other sites

Hello aodfan,

 

Just remove the buy now via the admin panel, if you don't want to use it.

 

Products link to the product page already via their pic & Title.

 

I hope this is what you mean.

 

TC

Link to comment
Share on other sites

Well I meant by actually changing it to a button called "More Info" and link it the same path to the product_info for that product. I have removed it before but looks weird without a button there.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...