HairyJim Posted August 2, 2005 Share Posted August 2, 2005 Hi, Two questions here only need to answer one or the other. I recently downloaded contribution Add Multiple Products. I found this would do exactly what I wanted i.e add multiple products from the product list page but I also found that the 'add to cart' button did not work and could not figure out why since it all seemed to be in the correct place. The code for this is below. Since I could not figure out why the button did not work I was wondering if anyone knew of a contrib that added multiple products that did work? <?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 */ $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id'); if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) { ?> <form name="cart_multi" method="post" action="<?php echo tep_href_link(FILENAME_SHOPPING_CART, tep_get_all_get_params(array('action')) . 'action=add_multi', 'NONSSL'); ?>"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td align="right" class="main"><?php echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> </tr> </table> <br> <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 = ''; break; case 'PRODUCT_LIST_NAME': $lc_text = TABLE_HEADING_PRODUCTS; $lc_align = ''; break; case 'PRODUCT_LIST_MANUFACTURER': $lc_text = TABLE_HEADING_MANUFACTURER; $lc_align = ''; break; case 'PRODUCT_LIST_PRICE': $lc_text = TABLE_HEADING_PRICE; $lc_align = 'right'; break; case 'PRODUCT_LIST_QUANTITY': $lc_text = TABLE_HEADING_QUANTITY; $lc_align = 'right'; break; // START: display min. order. qty. mod case 'PRODUCT_LIST_MIN_ORDER_QTY': $lc_align = 'center'; $lc_text = ' ' . TABLE_HEADING_MIN_ORDER_QTY . ' '; break; // END: display min. order. qty. mod 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': $lc_align = ''; $lc_text = ' ' . $listing['products_model'] . ' '; break; case 'PRODUCT_LIST_NAME': $lc_align = ''; 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']) . '">' . $listing['products_name'] . '</a>'; } else { $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a> '; } break; case 'PRODUCT_LIST_MANUFACTURER': $lc_align = ''; $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 = 'right'; if (tep_not_null($listing['specials_new_products_price'])) { $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($listing['specials_new_products_price'], 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_PRICE': $lc_align = 'right'; $pf->parse($listing); $lc_text = $pf->getPriceStringShort(); break; // START: display min. order. qty. mod //case 'PRODUCT_LIST_MIN_ORDER_QTY': //$lc_align = ''; //$lc_text = ' ' . $listing['products_min_order_qty'] . ' '; //break; // END: display min. order. qty. mod 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 = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> '; $lc_text = '<input type="text" name="add_id['.$number_of_products.']" value="0" size="4">'; $lc_text .= '<input type="hidden" name="products_id['.$number_of_products.']" value="'.$listing['products_id'].'">'; 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> <br> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td align="right" class="main"><?php echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> </tr> </table> </form> <?php } ?> Link to comment Share on other sites More sharing options...
boxtel Posted August 2, 2005 Share Posted August 2, 2005 Hi, Two questions here only need to answer one or the other. I recently downloaded contribution Add Multiple Products. I found this would do exactly what I wanted i.e add multiple products from the product list page but I also found that the 'add to cart' button did not work and could not figure out why since it all seemed to be in the correct place. The code for this is below. Since I could not figure out why the button did not work I was wondering if anyone knew of a contrib that added multiple products that did work? <?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 */ ?$listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id'); ?if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) { ?> <form name="cart_multi" method="post" action="<?php echo tep_href_link(FILENAME_SHOPPING_CART, tep_get_all_get_params(array('action')) . 'action=add_multi', 'NONSSL'); ?>"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> ?<tr> ? ?<td align="right" class="main"><?php echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> ?</tr> </table> <br> <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 = ''; ? ? ? ?break; ? ? ?case 'PRODUCT_LIST_NAME': ? ? ? ?$lc_text = TABLE_HEADING_PRODUCTS; ? ? ? ?$lc_align = ''; ? ? ? ?break; ? ? ?case 'PRODUCT_LIST_MANUFACTURER': ? ? ? ?$lc_text = TABLE_HEADING_MANUFACTURER; ? ? ? ?$lc_align = ''; ? ? ? ?break; ? ? ?case 'PRODUCT_LIST_PRICE': ? ? ? ?$lc_text = TABLE_HEADING_PRICE; ? ? ? ?$lc_align = 'right'; ? ? ? ?break; ? ? ?case 'PRODUCT_LIST_QUANTITY': ? ? ? ?$lc_text = TABLE_HEADING_QUANTITY; ? ? ? ?$lc_align = 'right'; ? ? ? ?break; ? ? ?// START: display min. order. qty. mod ? ? ?case 'PRODUCT_LIST_MIN_ORDER_QTY': ? ? ? ?$lc_align = 'center'; ? ? ? ?$lc_text = ' ' . TABLE_HEADING_MIN_ORDER_QTY . ' '; ? ? ? ?break; ? ? ?// END: display min. order. qty. mod ? ? ?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': ? ? ? ? ? ?$lc_align = ''; ? ? ? ? ? ?$lc_text = ' ' . $listing['products_model'] . ' '; ? ? ? ? ? ?break; ? ? ? ? ?case 'PRODUCT_LIST_NAME': ? ? ? ? ? ?$lc_align = ''; ? ? ? ? ? ?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']) . '">' . $listing['products_name'] . '</a>'; ? ? ? ? ? ?} else { ? ? ? ? ? ? ?$lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a> '; ? ? ? ? ? ?} ? ? ? ? ? ?break; ? ? ? ? ?case 'PRODUCT_LIST_MANUFACTURER': ? ? ? ? ? ?$lc_align = ''; ? ? ? ? ? ?$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 = 'right'; ? ? ? ? ? ?if (tep_not_null($listing['specials_new_products_price'])) { ? ? ? ? ? ? ?$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($listing['specials_new_products_price'], 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_PRICE': ? ? ? ? ? ?$lc_align = 'right'; ? ? ? ? ? ?$pf->parse($listing); ? ? ? ? ? ?$lc_text = $pf->getPriceStringShort(); ? break; ? ? ? ? ?// START: display min. order. qty. mod ? ? ? ? ?//case 'PRODUCT_LIST_MIN_ORDER_QTY': ? ? ? ? ? ?//$lc_align = ''; ? ? ? ? ? ?//$lc_text = ' ' . $listing['products_min_order_qty'] . ' '; ? ? ? ? ? ?//break; ? ? ? ? ?// END: display min. order. qty. mod ? ? ? ? ?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 = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a> '; ? ? ? ? ? ?$lc_text ?= '<input type="text" name="add_id['.$number_of_products.']" value="0" size="4">'; ? ? ? ? ? ?$lc_text .= '<input type="hidden" name="products_id['.$number_of_products.']" value="'.$listing['products_id'].'">'; ? ? ? ? ? ?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> <br> <table border="0" width="100%" cellspacing="0" cellpadding="0"> ?<tr> ? ?<td align="right" class="main"><?php echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> ?</tr> </table> </form> <?php ?} ?> <{POST_SNAPBACK}> well, the way I have it implemented is as follows, compare it and see if it works for you: just before : <?php $info_box_contents = array(); I have : <form name="cart_multi" method="post" action="<?php echo tep_href_link(FILENAME_SHOPPING_CART, tep_get_all_get_params(array('action','zx','azx','yx','sort','page','currency','lng','language','x','y')) . 'action=add_multi', 'NONSSL'); ?>"> then right after : <?php $info_box_contents = array(); I have : $p_index = 0; right after : while ($listing = tep_db_fetch_array($listing_query)) { I have : $p_index++; ?> <input type="hidden" name="products_id[<?php echo $p_index; ?>]" value="<?php echo $listing['products_id']; ?>"> <?php then for the checkbox itself I have (right under the buy button): if (!tep_has_product_attributes($listing['products_id'])) { $lc_text .= '</tr><tr height="24px"><td align="center" valign="middle"><input type="checkbox" class="checkbox" name="add_id['.$p_index.']" value="1"></td>'; } else { $lc_text .= '</tr><tr height="24px"><td class="smalltext" align="center" valign="middle">With Options</td>'; } then for the buy_all button (under the whole list): <td align="left" width="140px" class="smalltext"><?php echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> and after that you close the form ofcourse with : echo '</form>'; this all in product_listing.php then ofcourse in application top in the big switch action tree you would have : case 'add_multi': for ($i=0; $i<=sizeof($_POST['products_id']);$i++) { $cart->add_cart($_POST['products_id'][$i+1], $cart->get_quantity(tep_get_uprid($_POST['products_id'][$i+1], $_POST['id'][$i+1]))+($_POST['add_id'][$i+1]), $_POST['id'][$i+1]); } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters))); break; Treasurer MFC Link to comment Share on other sites More sharing options...
HairyJim Posted August 2, 2005 Author Share Posted August 2, 2005 This is all in includes/modules/product_listing.php I can't seem to find the majority of the code oyu have posted!? Any chance you could post the whole file? James well, the way I have it implemented is as follows, compare it and see if it works for you: just before : <?php $info_box_contents = array(); I have : <form name="cart_multi" method="post" action="<?php echo tep_href_link(FILENAME_SHOPPING_CART, tep_get_all_get_params(array('action','zx','azx','yx','sort','page','currency','lng','language','x','y')) . 'action=add_multi', 'NONSSL'); ?>"> then right after : <?php $info_box_contents = array(); I have : $p_index = 0; right after : while ($listing = tep_db_fetch_array($listing_query)) { I have : $p_index++; ?> <input type="hidden" name="products_id[<?php echo $p_index; ?>]" value="<?php echo $listing['products_id']; ?>"> <?php then for the checkbox itself I have (right under the buy button): if (!tep_has_product_attributes($listing['products_id'])) { $lc_text .= '</tr><tr height="24px"><td align="center" valign="middle"><input type="checkbox" class="checkbox" name="add_id['.$p_index.']" value="1"></td>'; } else { $lc_text .= '</tr><tr height="24px"><td class="smalltext" align="center" valign="middle">With Options</td>'; } then for the buy_all button (under the whole list): <td align="left" width="140px" class="smalltext"><?php echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> and after that you close the form ofcourse with : echo '</form>'; this all in product_listing.php then ofcourse in application top in the big switch action tree you would have : case 'add_multi': for ($i=0; $i<=sizeof($_POST['products_id']);$i++) { $cart->add_cart($_POST['products_id'][$i+1], $cart->get_quantity(tep_get_uprid($_POST['products_id'][$i+1], $_POST['id'][$i+1]))+($_POST['add_id'][$i+1]), $_POST['id'][$i+1]); } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters))); break; <{POST_SNAPBACK}> Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.