Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Displaying Categories.


Guest

Recommended Posts

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

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

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

Archived

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

×
×
  • Create New...