-
Re: Categories Dressing
What you want is a combination of cases 2,3 and 5:
PHP Code:
case 2://active only (all tops when no cat selected)
if($cPath_top != $path_top and $cPath_top != 0) $skip_cat = 1;
break;
case 3://full active tree, others per level
if($cPath_top != $path_top) $test_level = 1;
break;
case 5:// show active, no top, per levels
if ($cat_depth == 0 or $cPath_top != $path_top) {
$skip_cat = 1;
}else{
$test_level = 1;
}
Something like this:
PHP Code:
case 6://full active tree, per levels (only all tops when no cat selected)
if($cPath_top != $path_top and $cPath_top != 0) $skip_cat = 1;//skip all non-active tree
if($cPath_top == 0 and $cat_depth != 0) $skip_cat = 1;//skip all subcats when none active
if($cPath_top == $path_top and $cPath_top != 0) $test_level = 1;//show active tree per level settings
break;
Then use 6|1|3 for your define.
This allows your specific layout desire as well as many other variations of it.
-
Re: Categories Dressing
Hello,
That does the trick :)
Thank you so much! Definitely one of the best module available.
Best Regards
-
Re: Categories Dressing
I have Category Tab Simple Dropdown Menu installed and I am trying to get the categories sidebox to show the subcategory of the selection made in the tabs across the top.
If I select the top category from the tabs at the top then the sidebox will show the category top level and its subcategories only, but if I choose the subcategory from the dropdown from the tabs at the top then the sidebox does not show any categories, or sub categories.
Zencart 1.3.9 on a test server not a live server so can't show a link. the define I have set up for the categories dressing is: define('CAT_BOX_ACTIVE_LEVEL', '2|0|2');
how can I get it to feed from the subcategory that is being selected on the tabs.
-
Re: Categories Dressing
The simple dropdown had (still has?) a bug that does not show the top category in the cPath when a subcat is selected. That may well be causing the Categories Dressing malfunction, as it depends on the cPath for many calculations.
-
Re: Categories Dressing
gjh42,
Thank you for the reply. I am assuming that I should pop the question to that support thread. Is it not such an easy fix if the bug is still there?
-
Re: Categories Dressing
hello
beginner here!!
where does it tell the mod to use catimg3.gif
if that is even a legit question
thanks
colin
-
Re: Categories Dressing
MikeyG - I think someone posted a fix for the bug, but not sure if it got officially updated.
deckandpool - The code automatically looks for the existence of an image name matching the category id, and uses it if it finds it. Just delete that demo image or change its name.
-
Re: Categories Dressing
-
Re: Categories Dressing
Hi there,
I've got some problem with my category-listing in the sidebox.
I want to hide the top-level category and show the "top-level-sub-category".
Here's my site. As you can see there's only one top-category but there will be more.
http://www.toffeliten.utkast.net/ind...index&cPath=52
Here's an example of what I mean:
Headcategory
- Subcategory
- - Subcategory level 2
- - Subcategory level 2
- - Subcategory level 2
- Subcategory
- - Subcategory level 2
- - Subcategory level 2
All I want is to only show the Subcategory and not the Headcategory or Subcategory level 2.
Is this possible with this module?
I also use a templatemonster template if that's to any help :P
Here's my tpl_categories code
PHP Code:
<?php
/**
* Side Box Template
*
* @package templateSystem
* @copyright Copyright 2003-2006 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license [url]http://www.zen-cart.com/license/2_0.txt[/url] GNU Public License V2.0
* @version $Id: tpl_categories.php 4162 2006-08-17 03:55:02Z ajeh $
*/
$content = "";
$content .= '<div id="' . str_replace('_', '-', $box_id . 'Content') . '" class="sideBoxContent">' . "\n";
//$content .= '<ul>';
// SPD COMMENTED OUT for ($i=0;$i<sizeof($box_categories_array);$i++) {
// SPD COMMENTED OUT switch(true) {
// SPD ADDITION SINCE COMMENTED OUT ABOVE
$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) {
//SPD END ADDITION
// to make a specific category stand out define a new class in the stylesheet example: A.category-holiday
// uncomment the select below and set the cPath=3 to the cPath= your_categories_id
// many variations of this can be done
// case ($box_categories_array[$i]['path'] == 'cPath=3'):
// $new_style = 'category-holiday';
// break;
case ($box_categories_array[$i]['top'] == 'true'):
$new_style = 'category-top';
break;
case ($box_categories_array[$i]['has_sub_cat']):
$new_style = 'category-subs';
break;
default:
$new_style = 'category-products';
}
// SPD COMMENTED OUT
//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 {
// SPD END COMMENT OUT
// SPD ADDITION SINCE I COMMENTED OUT SECTION ABOVE
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 {
// SPD END ADDITION
// $content .= '<li>';
$content .= '<a class="' . $new_style . '" href="' . zen_href_link(FILENAME_DEFAULT, $box_categories_array[$i]['path']) . '">';
if ($box_categories_array[$i]['current']) {
if ($box_categories_array[$i]['has_sub_cat']) {
$content .= '<span class="category-subs-parent">' . $box_categories_array[$i]['name'] . '</span>';
} else {
$content .= '<span class="category-subs-selected">' . $box_categories_array[$i]['name'] . '</span>';
}
} else {
$content .= $box_categories_array[$i]['name'];
}
if ($box_categories_array[$i]['has_sub_cat']) {
$content .= CATEGORIES_SEPARATOR;
}
if (SHOW_COUNTS == 'true') {
if ((CATEGORIES_COUNT_ZERO == '1' and $box_categories_array[$i]['count'] == 0) or $box_categories_array[$i]['count'] >= 1) {
$content .= CATEGORIES_COUNT_PREFIX . $box_categories_array[$i]['count'] . CATEGORIES_COUNT_SUFFIX;
}
}
$content .= '</a><br>';
//$content .= '</li>';
//$content .= '<br />' . "\n";
}
}
//$content .= '</ul>';
if (SHOW_CATEGORIES_BOX_SPECIALS == 'true' or SHOW_CATEGORIES_BOX_PRODUCTS_NEW == 'true' or SHOW_CATEGORIES_BOX_FEATURED_PRODUCTS == 'true' or SHOW_CATEGORIES_BOX_PRODUCTS_ALL == 'true') {
// display a separator between categories and links
if (SHOW_CATEGORIES_SEPARATOR_LINK == '1') {
$content .= '<hr id="catBoxDivider" />' . "\n";
}
//$content .= '<ul>';
if (SHOW_CATEGORIES_BOX_SPECIALS == 'true') {
$show_this = $db->Execute("select s.products_id from " . TABLE_SPECIALS . " s where s.status= 1 limit 1");
if ($show_this->RecordCount() > 0) {
//$content .= '<li>';
$content .= '<a class="category-links" href="' . zen_href_link(FILENAME_SPECIALS) . '">' . CATEGORIES_BOX_HEADING_SPECIALS . '</a>' . "\n";
//$content .= '</li>';
}
}
if (SHOW_CATEGORIES_BOX_PRODUCTS_NEW == 'true') {
// display limits
// $display_limit = zen_get_products_new_timelimit();
$display_limit = zen_get_new_date_range();
$show_this = $db->Execute("select p.products_id
from " . TABLE_PRODUCTS . " p
where p.products_status = 1 " . $display_limit . " limit 1");
if ($show_this->RecordCount() > 0) {
//$content .= '<li>';
$content .= '<a class="category-links" href="' . zen_href_link(FILENAME_PRODUCTS_NEW) . '">' . CATEGORIES_BOX_HEADING_WHATS_NEW . '</a>' . "\n";
//$content .= '</li>';
}
}
if (SHOW_CATEGORIES_BOX_FEATURED_PRODUCTS == 'true') {
$show_this = $db->Execute("select products_id from " . TABLE_FEATURED . " where status= 1 limit 1");
if ($show_this->RecordCount() > 0) {
//$content .= '<li>';
$content .= '<a class="category-links" href="' . zen_href_link(FILENAME_FEATURED_PRODUCTS) . '">' . CATEGORIES_BOX_HEADING_FEATURED_PRODUCTS . '</a>' . "\n";
//$content .= '</li>';
}
}
if (SHOW_CATEGORIES_BOX_PRODUCTS_ALL == 'true') {
//$content .= '<li>';
$content .= '<a class="category-links" href="' . zen_href_link(FILENAME_PRODUCTS_ALL) . '">' . CATEGORIES_BOX_HEADING_PRODUCTS_ALL . '</a>' . "\n";
//$content .= '</li>';
}
//$content .= '</ul>';
}
$content .= '</div>';
?>
-
Re: Categories Dressing
You will lose your template-specific tpl_categories.php when you install Categories Dressing, as they are totally different and not practical to merge; however, CD does have a setting for highest and lowest level of category to display, so you could show just the first-level subcats in the sidebox, no top or second-level.