I have been wanting to do a similar thing for some time, so I took your request as an opportunity to try it.
This is what I found - really quite simple to do, after you wade through the logic... There is a horizontal rule between categories and all products etc., so take from that and use a test (following the example in comments in the file) to insert it *above* the category you want to be at the top of the new section.
In /includes/templates/your_template/sideboxes/tpl_categories.php around line 33:
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 {
$content .= '<a class="' . $new_style . '" href="' . zen_href_link(FILENAME_DEFAULT, $box_categories_array[$i]['path']) . '">';
add
PHP Code:
//lay a separator between collections and types - gjh42 20070222
if ($box_categories_array[$i]['path'] == 'cPath=81') {
$content .= '<hr id="catBoxDivider" />' . "\n";
}
(Change the cPath= to your category id.)
to get
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 {
//lay a separator between collections and types - gjh42 20070222
if ($box_categories_array[$i]['path'] == 'cPath=81') {
$content .= '<hr id="catBoxDivider" />' . "\n";
}
$content .= '<a class="' . $new_style . '" href="' . zen_href_link(FILENAME_DEFAULT, $box_categories_array[$i]['path']) . '">';
This divider will be identical to the one between categories and all products. If you want it different, call the id catBoxDivider2 or something, and add that to the stylesheet.
PS - You can add more of these in the same spot, with different cat id's as required. The best way is to add like this
PHP Code:
if ($box_categories_array[$i]['path'] == ( 'cPath=81' or 'cPath=92'))