Mariu Posted July 2, 2006 Posted July 2, 2006 Hello, Instead of having the default NewProducts for xxxx in the main page, I would like to put tables in order to display them in individual boxes, two per row, three rows. I guess it's possible to do it since I saw it in quite a few web sites. It has to be done in new_products.php? And where exactly? Thanks.
Mariu Posted July 3, 2006 Author Posted July 3, 2006 Can someone help me, pleeeeease ? I would really like to do it. :rolleyes:
Guest Posted July 4, 2006 Posted July 4, 2006 Backup your catalog\includes\modules\new_products.php then replace it with this code: <?php /* $Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ ?> <!-- new_products //--> <?php if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) { $new_products_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where products_status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS); } else { $new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . (int)$new_products_category_id . "' and p.products_status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS); } $row = 0; $col = 0; $index = 0; $info_box_contents = array(); while ($new_products = tep_db_fetch_array($new_products_query)) { if( !$index ) { $info_box_contents_head = array(); $info_box_contents_head[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B'))); new contentBoxHeading($info_box_contents_head); } $new_products['products_name'] = tep_get_products_name($new_products['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=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id']))); $col ++; if ($col > 2) { $col = 0; $row ++; } $index++; if( $index > 1 ) { $index = 0; new contentBox($info_box_contents); $info_box_contents = array(); $row = 0; $col = 0; } } new contentBox($info_box_contents); ?> <!-- new_products_eof //--> you may have to add your own code to setup different headers, spacing etc.
Guest Posted July 4, 2006 Posted July 4, 2006 is there any way to have it like: item title - price instead? this one just posts: image title price in tables
Mariu Posted July 5, 2006 Author Posted July 5, 2006 Thank you so much for your answer Mark, I will try to adapt the code you sent me. It was a great hint! :)
Mariu Posted July 6, 2006 Author Posted July 6, 2006 Mark, I will pm you concerning this issue, hope you don?t mind. I don?t manage to attach a .gif file here to show you how I would like the table to look for the new_products module.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.