stankovski 0 Posted January 7, 2003 For those who prefer a more conventional type of product listing, I've made this contibution. This module will allow you to list the product in the conventional way (the way "New Products" box does it). Instead of having product listed in the form of a table you will 2 or more lines of thumbnails with names and prices bellow. Check it out at: http://www.oscommerce.com/community/contributions,858 Denis Stankovski ---------------------- http://www.harmoniouslifestyles.com Share this post Link to post Share on other sites
GD 0 Posted January 14, 2003 Hi stankovski, Thanks for the mod! I've installed it and it does work. 8) But I would like to try the dropdown menu style you have on your categories pages to sort items. How did you get that to show :?: Mine shows the sort options as text links in the first item slot of the categories page. Example: Model Name Price Buy Now<--Not a link, just text. The sort item feature works great, I just would like to know why no dropdown? It's no biggie, and I know (I'm being picky) but I would just like to know. :D Running osC - 2.2MS2. P.S. Please don't ask for a link to my site, it is on a production server and not available for the general public, yet! Share this post Link to post Share on other sites
stankovski 0 Posted January 21, 2003 Hi, Sorry that I couldn't reply earlier, I was away on vacation. In order to get the drop down menu do the following. In the default.php file, right BEFORE <tr> <td> <?php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?> </td> </tr> insert this: <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <script> function sort_by() { n = document.all.select_order.order_by.value; if (n == 1) { location.href = "<?php echo $PHP_SELF.'?cPath='.$cPath.'&osCsid='.$osCsid.'&page='.$page;?>&sort=2a"; } else if (n == 2) { location.href = "<?php echo $PHP_SELF.'?cPath='.$cPath.'&osCsid='.$osCsid.'&page='.$page;?>&sort=3a"; } else if (n == 3) { location.href = "<?php echo $PHP_SELF.'?cPath='.$cPath.'&osCsid='.$osCsid.'&page='.$page;?>&sort=4a"; } } </script> <tr> <td align="right" bgcolor="#FFE5E5" class="boxborder"> <form name="select_order"> <select name="order_by" style="border: 1px solid Black; font: normal normal 10px Verdana, Geneva, Arial, Helvetica, sans-serif;" onChange="sort_by()"> <option value="0">Sort By: <option value="1" <?php if (strstr($sort,'2a')) {echo 'selected';}?>>- Name <option value="2" <?php if (strstr($sort,'3a')) {echo 'selected';}?>>- Design <option value="3" <?php if (strstr($sort,'4a')) {echo 'selected';}?>>- Price </select> </form></td> </tr> <TR> <td> </td> </TR> Now in order to get rid of the bar with text that is there right now REMOVE this block from modules/product_listing.php: $list_box_contents = array(); $list_box_contents[] = array('params' => 'class="productListing-heading"'); $cur_row = sizeof($list_box_contents) - 1; for ($col=0; $col<sizeof($column_list); $col++) { switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $lc_text = TABLE_HEADING_MODEL; $lc_align = 'left'; break; case 'PRODUCT_LIST_NAME': $lc_text = TABLE_HEADING_PRODUCTS; $lc_align = 'left'; break; case 'PRODUCT_LIST_MANUFACTURER': $lc_text = TABLE_HEADING_MANUFACTURER; $lc_align = 'left'; 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; 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[$cur_row][] = array('align' => $lc_align, 'params' => 'class="productListing-heading"', 'text' => " " . $lc_text . " "); } (I beleive I mentioned it in the help file) Sincerely, Denis Denis Stankovski ---------------------- http://www.harmoniouslifestyles.com Share this post Link to post Share on other sites
GD 0 Posted January 24, 2003 Thanks stankovski, No need to cut your vacation short, just to help me out. :wink: Thanks for the code update, I'll try it out. 8) Running osC - 2.2MS2. P.S. Please don't ask for a link to my site, it is on a production server and not available for the general public, yet! Share this post Link to post Share on other sites
grlwrtr 0 Posted February 1, 2003 I'm writing to thank you, Denis, for this mod, which worked beautifully out of the box. Share this post Link to post Share on other sites
stankovski 0 Posted February 3, 2003 Sure, Glad that could be helpful. Denis Stankovski ---------------------- http://www.harmoniouslifestyles.com Share this post Link to post Share on other sites
stankovski 0 Posted March 3, 2003 The following is an infoe on how to have 3 products listed and a line between rows. First of all it is very (!!!) easy to change the number of products from 4 to 3 per line. Just go to file classes/boxes.php and change on line 94: $denis_counter == 4 to $denis_counter == 3 Now, to draw a line between the boxes do the following. In the same file on line 96 find $tableBox_string variable and change it to: $tableBox_string .= ' </tr><tr><td colspan=3>'.tep_draw_separator('pixel_black.gif', '100%', '1').'<br><br></td></tr><tr valign="top" align="center">'; (where <td colspan=3> depends on the number of products in a row, and pixel_black.gif should be a .gif picture in images folder with size 1x1 pixels and color that you want the separator to be) If you have more questions email me Denis Denis Stankovski ---------------------- http://www.harmoniouslifestyles.com Share this post Link to post Share on other sites
webdeva 0 Posted March 19, 2003 Hello, I can not get the Price sort to work with the drop down box. Everything else works fine please help!! Here is the error I get : Products Listing Show:All---------------Thomas NelsonWhitaker House Sort By:- Name- Model- Price 1064 - You have an error in your SQL syntax near '' at line 1 select p.products_image, pd.products_name, m.manufacturers_name, p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from products_description pd, products p left join manufacturers m on p.manufacturers_id = m.manufacturers_id, products_to_categories p2c left join specials s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '1' and p2c.categories_id = '70' order by I have no idea what this means Thanks, Nicole Share this post Link to post Share on other sites
stankovski 0 Posted March 21, 2003 Did it work without my Mod? If so, then just roll back to what you had before and see what kind of parameters are passed when you try to order. For example if you get <b>sort=4a</b> when you click on Price, then you should set drop down box accordingly: When select order by price pass sort parameter with "4a". I hope I am clear. If you keep getting problems, send me a url to your site. Denis Denis Stankovski ---------------------- http://www.harmoniouslifestyles.com Share this post Link to post Share on other sites
Guest Posted March 31, 2003 any ideas of how to change the color from pink to gray? :) Share this post Link to post Share on other sites
Guest Posted July 20, 2003 i cant get this to work nothing appears after i add the code? does it work in Milestone: osCommerce 2.2MS2 Share this post Link to post Share on other sites
Guest Posted August 4, 2003 This mod by Denis has worked wonderfully! Unfortunately I upgraded to 2.2 MS 2 and its a no go! I am going to experiement in my spare time (im a "cut and paste" coder), but if anyone else gets this to work with 2.2 MS 2, please post! (I need it BAD) -Jay Share this post Link to post Share on other sites
asheikha 0 Posted December 10, 2004 Hi, Thank you for this mod is it possible to open product info from product listing page in popup? if it is possible how and where i change in your mod, i am not sound in php programming i am only cut paste coder. Thankyou Share this post Link to post Share on other sites
Guest Posted December 25, 2004 (edited) I got this working in 2.2 MS2. Contact me for help. rick@1crash.com yahoo: crashrez 1crash.com credits: thank you stankovski, even though you dropped support- this code can still be used to an extent. Edited December 25, 2004 by crash resistant Share this post Link to post Share on other sites
Guest Posted February 4, 2005 How can i disabel the buy now button? I want my customers to go to the product_info and ad it to the cart from there. Share this post Link to post Share on other sites
Dr. DK 0 Posted February 10, 2005 Hi all, For some reason the Price doesn't get displayed. I was wondering how to get the QTY on there as well? ----------------------------------------------------------------------- Sincerely, Dr. DK Share this post Link to post Share on other sites
Dr. DK 0 Posted February 10, 2005 Figured out why the price wasn't working! It wasn't compatible with ms2. ----------------------------------------------------------------------- Sincerely, Dr. DK Share this post Link to post Share on other sites
fatmcgav 0 Posted February 11, 2005 Hey there, I'm having some problems getting this working. I followed the questions pretty much to the t, apart from the fact that if you replace lines 25-75 with the code in step 3, it comments out the whole doc as theres no closing */, so i pasted it as follows: //+++ HACK product listing /* $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; 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 . ' '); } */ //+++ HACK product listing end All it does is remove the headers, and leave it in table format. Any ideas? Cheers Fatmcgav Share this post Link to post Share on other sites
fatmcgav 0 Posted February 11, 2005 Hey there, I'm having some problems getting this working. I followed the questions pretty much to the t, apart from the fact that if you replace lines 25-75 with the code in step 3, it comments out the whole doc as theres no closing */, so i pasted it as follows: //+++ HACK product listing /* $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; 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 . ' '); } */ //+++ HACK product listing end All it does is remove the headers, and leave it in table format. Any ideas? Cheers Fatmcgav <{POST_SNAPBACK}> Nvm, fixed it myself. Cheers Fatmcgav Share this post Link to post Share on other sites
pizzaman 0 Posted February 13, 2005 Hi Stankovsky, really great contrib - thanks a lot for that. Just a tiny little thing about it: when I'm going to change the numbers of produchts per row from 4 to 3 (like written in the readme "...classes/boxes ...) unfortunately nothing happens - still remained with 4 products/row. Trying to work it out like mentioned here in this thread (...$denis_counter...") is a problem, as this line doesn't even apper in my script :( Do you have an Idea???? thanks! enzo Share this post Link to post Share on other sites
Guest Posted May 18, 2005 Hi Stankovsky, really great contrib - thanks a lot for that. Just a tiny little thing about it: when I'm going to change the numbers of produchts per row from 4 to 3 (like written in the readme "...classes/boxes ...) unfortunately nothing happens - still remained with 4 products/row. Trying to work it out like mentioned here in this thread (...$denis_counter...") is a problem, as this line doesn't even apper in my script :( Do you have an Idea???? thanks! enzo <{POST_SNAPBACK}> I'm having the same problem, did Denis respond? Also, I need to change the background color, anyone now where i would insert a color for the background? Thankx Share this post Link to post Share on other sites
Guest Posted May 20, 2005 Hi Stankovsky, really great contrib - thanks a lot for that. Just a tiny little thing about it: when I'm going to change the numbers of produchts per row from 4 to 3 (like written in the readme "...classes/boxes ...) unfortunately nothing happens - still remained with 4 products/row. Trying to work it out like mentioned here in this thread (...$denis_counter...") is a problem, as this line doesn't even apper in my script :( Do you have an Idea???? thanks! enzo <{POST_SNAPBACK}> Well I finaly figured out how to change product listing from 4 to 3. in catalog/includes/classes/boxes.php find // class constructor function tableBox2($contents, $direct_output = false) { $tableBox_string = '<table border="' . $this->table_border . '" width="' . $this->table_width . '" cellspacing="' . $this->table_cellspacing . '" cellpadding="' . $this->table_cellpadding . '"'; if ($this->table_parameters != '') $tableBox_string .= ' ' . $this->table_parameters; $tableBox_string .= '><tr valign="top" align="center">' . "\n"; for ($i=0; $i<sizeof($contents); $i++) { if ($cols_rows == 3) { $cols_rows = 0; $tableBox_string .= ' </tr><tr><td><br></td></tr><tr valign="top" align="center">'; } around line 195 see if ($cols_rows == 3) mine say 3 cause. I changed from 4, and that worked. Share this post Link to post Share on other sites
staradmire 0 Posted April 26, 2007 Hello, I installed this and was hoping someone could help me with the problem that I am having. First with this will not go to the prices, I get the same error as above and I installed the updates, so I temp removed the drop down box. 2nd problem is, some of my boxes are uneven as in height because of the name of the product. Some are longer and make the box longer. Is there somewhere were I can set a taller height so the boxes will be even? Any help would be appreciated. Thank you. Share this post Link to post Share on other sites
kalon1277 0 Posted June 12, 2007 Nvm, fixed it myself. Cheers Fatmcgav Dude, what did you do cause I cant get it right at all. Whats that little thing that im missing? I pretty much did it exactly as you did and this is the error i get Parse error: syntax error, unexpected $end in /home/teeque/public_html/includes/modules/product_listing.php on line 173 <?php /* $Id: product_listing.php,v 1.44 2003/06/09 22:49:59 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url] Copyright © 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') ) ) { ?> <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 //+++ HACK product listing /* $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; 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 . ' '); } */ //+++ HACK product listing end 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_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 = '<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> '; break; } $list_box_contents[$cur_row][] = array('align' => $lc_align, 'params' => 'class="productListing-data"', 'text' => $lc_text); } } // new productListingBox($list_box_contents); //+++ HACK product listing start new productListingBoxrows($list_box_contents); //+++ HACK product listing END } 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 } ?> Share this post Link to post Share on other sites
hilife 0 Posted August 5, 2007 Can anybody post a link where one can download the latest contribution the main one is not working...or if somebody can show me a link to a similar way to list products in more than one column... Share this post Link to post Share on other sites