In /includes/templates/your_template/sideboxes/tpl_categories.php, find
PHP Code:
for ($i=0;$i<sizeof($box_categories_array);$i++) {
switch(true) {
and replace with
PHP Code:
$current_top = 0;//show active cat tree - initialize - above for loop
$iteration_top = 0;//show active cat tree - initialize - above for loop
for ($i=0;$i<sizeof($box_categories_array);$i++) {
switch(true) {
Find
PHP Code:
if (zen_get_product_types_to_category($box_categories_array[$i]['path']) == 3 or ($box_categories_array[$i]['top'] != 'true' and SHOW_CATEGORIES_SUBCATEGORIES_ALWAYS != 1)) {
// skip if this is for the document box (==3)
} else {
and replace with
PHP Code:
if ($box_categories_array[$i]['current'] and $box_categories_array[$i]['top'] == 'true') { //show active cat tree - if current and topcat
$current_top = str_replace("cPath=","",$box_categories_array[$i]['path']); //show active cat tree - set = current topcat
} //show active cat tree
$iteration_top = str_replace("cPath=","",str_replace(strchr($box_categories_array[$i]['path'],"_"),"",$box_categories_array[$i]['path'])); //show active cat tree - set = this iteration's topcat
if (($current_top != $iteration_top and isset($cPath) and $cPath != 0) or (zen_get_product_types_to_category($box_categories_array[$i]['path']) == 3 or ($box_categories_array[$i]['top'] != 'true' and SHOW_CATEGORIES_SUBCATEGORIES_ALWAYS != 1))) {
// skip if this is for the document box (==3) OR (show active cat tree) if not in/under current topcat and there is a selected cat
} else {