Guest Posted June 12, 2004 Share Posted June 12, 2004 Is there a way to "hide" empty categories? If a category has no products, or all are marked "out of stock", is there a way to have that category not display in the Products box on the left? Thanks for any input. -Scott Link to comment Share on other sites More sharing options...
dpakulski Posted June 12, 2004 Share Posted June 12, 2004 Hi As far as i know osCommerce, the answer is NO. Consider to become more familiar with PHP, because I think it would be quite easy ... simple if ... DBquery ... in certain place .. ;) Link to comment Share on other sites More sharing options...
srxreuben Posted June 15, 2004 Share Posted June 15, 2004 hey just wondering is there way to display the catergories of each product in the shopping cart kinda like if the a book is from the Web programming subcatergory next to product name say PHP unleashed there is a display showing category the main catergory and subcategories showing PHP unleashed Top?Catalog?Books?non fiction?computing?programming?Web programming The above should show (the location of the product )for each product in the shopping cart the above is similar to the top lefthand side of the page if you go into the go into the subcategories the online demo shows this structure Top ? Catalog ? Software ? Action i just need it to be in the shopping cart next to each product name in the shopping cart hey i apologise if this question has been answered before, i searched the forum..credit you guys..this forum is huge! im kinda new to programming...but im okay with editing php files to add and delete lines. any help will be kindly appreciated. Thanks -suresh Link to comment Share on other sites More sharing options...
freak763 Posted June 15, 2004 Share Posted June 15, 2004 Is there a way to "hide" empty categories? If a category has no products, or all are marked "out of stock", is there a way to have that category not display in the Products box on the left? Thanks for any input. -Scott Hey Scott, I just managed to get this working... Please find the code below that I modified in catalog/includes/boxescategories.php I have encapsulated the modifications I made in smilies, go ahead and drop me a line if you like @ [email protected] I believe that these are the only changes I have made to this file, but I have been playing with it for a day or so.... if you are gonna use this code you might want to back up your old page first. The store I am working on is www.naturesbounty.ca Best of luck Darce <?php /* $Id: categories.php,v 1.25 2003/07/09 01:13:58 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2003 osCommerce Released under the GNU General Public License */ function tep_show_category($counter) { global $tree, $categories_string, $cPath_array; for ($i=0; $i<$tree[$counter]['level']; $i++) { $categories_string .= " "; } $categories_string .= '<a href="'; if ($tree[$counter]['parent'] == 0) { $cPath_new = 'cPath=' . $counter; } else { $cPath_new = 'cPath=' . $tree[$counter]['path']; } $categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">'; if (isset($cPath_array) && in_array($counter, $cPath_array)) { $categories_string .= '<b>'; } // display category name $categories_string .= $tree[$counter]['name']; if (isset($cPath_array) && in_array($counter, $cPath_array)) { $categories_string .= '</b>'; } if (tep_has_category_subcategories($counter)) { $categories_string .= '->'; } $categories_string .= '</a>'; if (SHOW_COUNTS == 'true') { $products_in_category = tep_count_products_in_category($counter); if ($products_in_category > 0) { $categories_string .= ' (' . $products_in_category . ')'; } } $categories_string .= '<br>'; if ($tree[$counter]['next_id'] != false) { tep_show_category($tree[$counter]['next_id']); } } ?> <!-- categories //--> <tr> <td> <?php $info_box_contents = array(); $info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES); new infoBoxHeading($info_box_contents, true, false); $categories_string = ''; $tree = array(); $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name"); while ($categories = tep_db_fetch_array($categories_query)) { :D // determine if the category in the array has any products.... if not go to the next row mod $num_prod = tep_count_products_in_category($categories['categories_id']); if ($num_prod >0){ :D $tree[$categories['categories_id']] = array('name' => $categories['categories_name'], 'parent' => $categories['parent_id'], 'level' => 0, 'path' => $categories['categories_id'], 'next_id' => false); if (isset($parent_id)) { $tree[$parent_id]['next_id'] = $categories['categories_id']; } $parent_id = $categories['categories_id']; if (!isset($first_element)) { $first_element = $categories['categories_id']; } } :D } :D //------------------------ if (tep_not_null($cPath)) { $new_path = ''; reset($cPath_array); while (list($key, $value) = each($cPath_array)) { unset($parent_id); unset($first_id); $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$value . "' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name"); if (tep_db_num_rows($categories_query)) { $new_path .= $value; while ($row = tep_db_fetch_array($categories_query)) { :D // determine if the category in the array has any products.... if not go to the next row mod $num_prod = tep_count_products_in_category($row['categories_id']); if ($num_prod >0){ :D $tree[$row['categories_id']] = array('name' => $row['categories_name'], 'parent' => $row['parent_id'], 'level' => $key+1, 'path' => $new_path . '_' . $row['categories_id'], 'next_id' => false); if (isset($parent_id)) { $tree[$parent_id]['next_id'] = $row['categories_id']; } $parent_id = $row['categories_id']; if (!isset($first_id)) { $first_id = $row['categories_id']; } $last_id = $row['categories_id']; } :D } :D $tree[$last_id]['next_id'] = $tree[$value]['next_id']; $tree[$value]['next_id'] = $first_id; $new_path .= '_'; } else { break; } } } tep_show_category($first_element); $info_box_contents = array(); $info_box_contents[] = array('text' => $categories_string); new infoBox($info_box_contents); ?> </td> </tr> <!-- categories_eof //--> Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.