Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Is there a simple way to include "Products Also Ordered" on shopping_cart.php?


ecroskey

Recommended Posts

I'm trying to figure out how to include the "Products Also Ordered" feature during the checkout process. I'd like it to show up on both the shopping_cart.php and the checkout_shipping.php pages to try for one last upsell.

 

I grabbed the code from product_info and tried inserting it where I wanted, however, nothing shows.

 

<?php

if ((USE_CACHE == 'true') && empty($SID)) {

  echo tep_cache_also_purchased(3600);

} else {

  include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);

}

?>

 

Can anyone please give me a simple answer as to why it's not showing up? Thank you!

Link to comment
Share on other sites

just use this part:

include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);

 

insert it in the last table on the page or where you want it to show

"I must admit that I personally measure success in terms of the contributions an individual makes to her or his fellow human beings."

---Margaret Mead---

 

"The answer is never the answer. What's really interesting is the mystery. If you seek the mystery instead of the answer, you'll always be seeking. I've never seen anybody really find the answer -- they think they have, so they stop thinking. But the job is to seek mystery, evoke mystery, plant a garden in which strange plants grow and mysteries bloom. The need for mystery is greater than the need for an answer.

--Ken Kesey"

Link to comment
Share on other sites

I have even tried placing all the code from the also_purcashed_products.php in there and Still nothing!

 

Here's the code:

 

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

<div class="body">

<!-- 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_SHOPPING_CART, 'action=update_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">

  <tr>

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

	  <tr>

		<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

		<td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_cart.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

	  </tr>

	</table></td>

  </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'])) {

	  //clr 030714 move hidden field to if statement below

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



	  //clr 030714 determine if attribute is a text attribute and assign to $attr_value temporarily

	  if ($value == PRODUCTS_OPTIONS_VALUE_TEXT_ID) {

		echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . TEXT_PREFIX . $option . ']',  $products[$i]['attributes_values'][$option]);

		$attr_value = $products[$i]['attributes_values'][$option];

	  } else {

		echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value);

		$attr_value = $attributes_values['products_options_values_name'];

	  }



	  $products[$i][$option]['products_options_name'] = $attributes_values['products_options_name'];

	  $products[$i][$option]['options_values_id'] = $value;

	  //clr 030714 assign $attr_value

	  $products[$i][$option]['products_options_values_name'] = $attr_value;

	  $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

 }

?>
[color=#FF0000]<tr>
	<td>
	<?php
 if (isset($HTTP_GET_VARS['products_id'])) {
$orders_query = tep_db_query("select p.products_id, p.products_image from " . TABLE_ORDERS_PRODUCTS . " opa, " . TABLE_ORDERS_PRODUCTS . " opb, " . TABLE_ORDERS . " o, " . TABLE_PRODUCTS . " p where p.products_id != '165' and opa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and opa.orders_id = opb.orders_id and opb.products_id != '" . (int)$HTTP_GET_VARS['products_id'] . "' and opb.products_id = p.products_id and opb.orders_id = o.orders_id and p.products_status = '1' group by p.products_id order by o.date_purchased desc limit " . MAX_DISPLAY_ALSO_PURCHASED);
$num_products_ordered = tep_db_num_rows($orders_query);
if ($num_products_ordered >= MIN_DISPLAY_ALSO_PURCHASED) {
?>
<!-- also_purchased_products //-->
<?php
  $info_box_contents = array();
  $info_box_contents[] = array('text' => TEXT_ALSO_PURCHASED_PRODUCTS);

  new contentBoxHeading($info_box_contents);

  $row = 0;
  $col = 0;
  $info_box_contents = array();
  while ($orders = tep_db_fetch_array($orders_query)) {
	  if ($orders['products_id'] != 165) {
	$orders['products_name'] = tep_get_products_name($orders['products_id']);
	$info_box_contents[$row][$col] = array('align' => 'center',
										   'params' => 'class="smallText" width="33%" valign="top"',
										   'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $orders['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $orders['products_image'], $orders['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $orders['products_id']) . '">' . $orders['products_name'] . '</a>');

	$col ++;
	if ($col > 2) {
	  $col = 0;
	  $row ++;
	}
  }
}
  new contentBox($info_box_contents);
?>
<!-- also_purchased_products_eof //-->
<?php
}
 }
?>
</td>
	</tr>[/color]
</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>

</div></body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

 

Anyone have a better idea?

Link to comment
Share on other sites

Try THIS contribution--it will be better for you anyway :thumbsup:

"I must admit that I personally measure success in terms of the contributions an individual makes to her or his fellow human beings."

---Margaret Mead---

 

"The answer is never the answer. What's really interesting is the mystery. If you seek the mystery instead of the answer, you'll always be seeking. I've never seen anybody really find the answer -- they think they have, so they stop thinking. But the job is to seek mystery, evoke mystery, plant a garden in which strange plants grow and mysteries bloom. The need for mystery is greater than the need for an answer.

--Ken Kesey"

Link to comment
Share on other sites

  • 1 year later...

I've been able to get the products to show up at the bottom of the shopping_cart.php file. However, I want to add the Add To Cart button for each of the 5 items that appear. Yet whenever I try to use the code used to add main item, I always get the main item and not the item being clicked on.

 

Does anyone know how to do the add to cart link while you're IN the cart itself?

Link to comment
Share on other sites

  • 1 year later...

I've been able to get the products to show up at the bottom of the shopping_cart.php file. However, I want to add the Add To Cart button for each of the 5 items that appear. Yet whenever I try to use the code used to add main item, I always get the main item and not the item being clicked on.

 

Does anyone know how to do the add to cart link while you're IN the cart itself?

 

How did you get this to display? What modification to the code, where did you put it etc?

 

I am experiencing the same difficulty.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...