Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Exclude category from new product display


Peper

Recommended Posts

Hi

 

Is there a way to exclude just one category not to show up on new products page (products_new.php)??

The products and category need to stay in stock though

 

Any help please :rolleyes:

Getting the Phoenix off the ground

Link to comment
Share on other sites

Hi

 

Is there a way to exclude just one category not to show up on new products page (products_new.php)??

The products and category need to stay in stock though

 

Any help please rolleyes.gif

 

 

just expand the query to exclude that particular category id

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Link to comment
Share on other sites

I got this code now for new_product.php

 

<?php
/*
 $Id: new_products.php 1806 2008-01-11 22:48:15Z hpdl $

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

 Copyright (c) 2008 osCommerce

 Released under the GNU General Public License
*/
?>
<!-- new_products //-->
<?php
 $info_box_contents = array();
 $info_box_contents[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B')));

 new contentBoxHeading($info_box_contents);

if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
$category_query = tep_db_query("select distinct categories_id from ". TABLE_PRODUCTS_TO_CATEGORIES );
$cids = array();
while ($categories = tep_db_fetch_array($category_query)) {
	array_push($cids, $categories["categories_id"]);
}
$cid = $cids[rand(0, count($cids) - 1)];

  // removed order by p.products_date_added desc
$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 " .
	", ". TABLE_PRODUCTS_TO_CATEGORIES . " p2c " .
               "where p.products_id = p2c.products_id and products_status = '1' and (p2c.categories_id = 88 or p2c.categories_id = 84 or p2c.categories_id = 61 or p2c.categories_id = 67 or p2c.categories_id = 57 or p2c.categories_id = 79 or p2c.categories_id = 64 )" . "order by rand() 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 rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
 }
 $row = 0;
 $col = 0;
 $info_box_contents = array();
 while ($new_products = tep_db_fetch_array($new_products_query)) {
   $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 ++;
   }
 }

 new contentBox($info_box_contents);
?>
<!-- new_products_eof //-->

 

 

 

Just the product name is missing

Getting the Phoenix off the ground

Link to comment
Share on other sites

  • 1 year later...

just expand the query to exclude that particular category id

 

Hi Spooks,

 

I'm pretty new to both OSC (using V2.3.1) and PHP.

 

Could you give me a bit more detail on how to exclude the category (presumably from file 'catalog/product_info.php') ?

 

many thanks

Semper-linux

Link to comment
Share on other sites

Well this is an old post.

 

You can modify the new products query by using a NOT LIKE or NOT IN ('21') c.category_id statement. If you're not to familiar with php / sql then I wouldn't bother for 2.3.1 just use

Featured Products (2.3.1)

This replaces the New Products with Featured Products you select.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...