Page 1 of 2 12 LastLast
Results 1 to 10 of 249

Hybrid View

  1. #1
    Join Date
    Oct 2006
    Posts
    5,477
    Plugin Contributions
    11

    Default Simple Category Tree

    1. Loosely based on the Flyout Category Tree mod, use one single sql to query categories, hence reduce the load on server (especially those with large number of categories)
    2. Allow users to specify the parent, child tag instead of having to use ul, li
    3. Allow the use of session to further reduce the load on server
    4. Can build any branch of the category tree.
    5. A number of users wanted to list all products in all sub-categories of a specific category, they can take advantage of this mod as well, since it stores all sub-cats of a specific cat in $tree['cat_id']['sub_cats'] array, however, it currently stores the first sub-level, so you have to write a small function to go thru the tree and gather the deepest cats (assuming you understand what I mean ^^)

    I wrote this class for my own use, and have no intention to write a detailed instruction, nor provide a downloadable package, nor provide any support at all. Just think that some of you may need it, so I post the code here:

    includes/classes/simple_categories_tree_generator.php
    PHP Code:
    <?php
    /**
     * Simple Category Tree
     * @Version: Beta 1
     * @Authour: yellow1912
     * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
     */ 

    define ('SCT_REBUILD_TREE','false');
    class 
    simple_categories_generator{
        var 
    $category_tree = array();

        function 
    simple_categories_generator() {
            if(
    SCT_REBUILD_TREE != 'false' || count($this->category_tree) == 0){
                global 
    $languages_id$db;
                
    $categories_query "select c.categories_id, cd.categories_name, c.parent_id
                              from " 
    TABLE_CATEGORIES " c, " TABLE_CATEGORIES_DESCRIPTION " cd
                              where c.categories_id = cd.categories_id
                              and c.categories_status=1
                              and cd.language_id = '" 
    . (int)$_SESSION['languages_id'] . "'
                              order by c.parent_id, c.sort_order, cd.categories_name"
    ;
                
    $categories $db->Execute($categories_query);
        
                while (!
    $categories->EOF) {
                    
    $this->category_tree[$categories->fields['categories_id']] = array('name' => $categories->fields['categories_name'],
                    
    'parent_id' => $categories->fields['parent_id']);
                    
    $this->category_tree[$categories->fields['categories_id']]['path'][] = $categories->fields['categories_id'];
                    
    $this->category_tree[$categories->fields['parent_id']]['sub_cats'][] = $categories->fields['categories_id'];
                    if(
    $categories->fields['parent_id'] > 0){
                        
    $this->category_tree[$categories->fields['categories_id']]['path'] = array_merge($this->category_tree[$categories->fields['parent_id']]['path'],$this->category_tree[$categories->fields['categories_id']]['path']);
                    }
                    
    $this->category_tree[$categories->fields['categories_id']]['cPath'] = implode('_',$this->category_tree[$categories->fields['categories_id']]['path']);        
                    
    $categories->MoveNext();
                }
                
    // add sub 'class' for print-out purpose
                
    foreach($this->category_tree as $key => $value){
                    
    $this->category_tree[$key]['sub'] = isset($this->category_tree[$key]['sub_cats']) ? 'has_sub' 'no_sub';            
                }    
            }
        }

        function 
    build_category_string($parent_tag 'div'$child_tag 'span'$categories_id 0$include_root false){
            if(!
    is_int($categories_id)){
                
    $temp explode('_',$categories_id);
                
    $categories_id $temp(count($temp)-1);
            }
            
    $result '';
            
    $level 0;
            
    $sub $this->category_tree[$categories_id]['sub'];
            if(isset(
    $this->category_tree[$categories_id])){
                if(
    $include_root && $categories_id 0){
                    
    $result .= "<$parent_tag class='level_$level $sub'><$child_tag class='level_$level $sub'>".$this->_build_category_string($categories_id,$parent_tag,$child_tag)."</$child_tag></$parent_tag>";
                }
                else{
                    if(isset(
    $this->category_tree[$categories_id]['sub_cats'])){
                        
    $result .= "<$parent_tag class='level_$level $sub'>";
                        foreach(
    $this->category_tree[$categories_id]['sub_cats'] as $key => $value){
                            
    $sub $this->category_tree[$value]['sub'];
                            
    $result .= "<$child_tag class='level_$level $sub'>".$this->_build_category_string($value,$parent_tag,$child_tag)."</$child_tag>";
                        }
                        
    $result .= "</$parent_tag>";
                    }
                }

            }
            
    $result str_replace(array('<>','</>'), ''$result);
            return 
    $result;
        }

        function 
    _build_category_string($categories_id 0$parent_tag 'div'$child_tag 'span'$level 0){
            
    $result $this->build_category_link($this->category_tree[$categories_id]['name'],$this->category_tree[$categories_id]['cPath']);
            
    $level++;
            
    $sub $this->category_tree[$categories_id]['sub'];
            if(isset(
    $this->category_tree[$categories_id]['sub_cats'])){
                
    $result .= "<$parent_tag class='level_$level $sub'>";
                foreach(
    $this->category_tree[$categories_id]['sub_cats'] as $key => $value){
                    
    $sub $this->category_tree[$value]['sub'];
                    
    $result .= "<$child_tag class='level_$level $sub'>".$this->_build_category_string($value,$parent_tag,$child_tag$level)."</$child_tag>";
                }
                
    $result .= "</$parent_tag>";
            }
            return 
    $result;
        }

        function 
    build_category_link($categories_name$cPath){
            return 
    '<a href="' zen_href_link(FILENAME_DEFAULT'cPath=' $cPath) . '">'.$categories_name.'</a>';
        }
    }
    I no longer provide installation support on forum for all my modules. However, if there are real bugs with the modules please feel free to contact me

  2. #2
    Join Date
    Oct 2006
    Posts
    5,477
    Plugin Contributions
    11

    Default Re: Simple Category Tree

    includes/auto_loaders/config.simple_categories_tree_generator.php

    PHP Code:
    <?php
    /**
     * ch_categories_tree_generator
     * @Version: 
     * @Authour: 
     * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
     */ 
    if (!defined('IS_ADMIN_FLAG')) {
        die(
    'Illegal Access');
    }
        
    $autoLoadConfig[0][] = array('autoType'=>'class''loadFile'=> 'simple_categories_tree_generator.php'); 
        
    $autoLoadConfig[180][] = array('autoType'=>'classInstantiate'
                                      
    'className'=>'simple_categories_generator'
                                      
    'objectName'=>'category_tree',
                                      
    'checkInstantiated'=>true,
                                      
    'classSession'=>true);
        
    ?>
    I no longer provide installation support on forum for all my modules. However, if there are real bugs with the modules please feel free to contact me

  3. #3
    Join Date
    Oct 2006
    Posts
    5,477
    Plugin Contributions
    11

    Default Re: Simple Category Tree

    A version that let you specify the depth level of the tree:

    i.e: To print out just all the top categories:
    PHP Code:
    <?php   
    // 0 is the TOP node of the tree, and 1 is the max_level, so print only categories below 0, and go only 1 level deep.
    echo $_SESSION['category_tree']->build_category_string('ul','li',01);
     
    ?>
    NOTE: Level should be greater than 0, I did not put a check there since I assume you should know what you are doing.
    PHP Code:
    <?php
    /**
     * Simple Category Tree
     * @Version: Beta 1
     * @Authour: yellow1912
     * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
     */ 

    define ('SCT_REBUILD_TREE','false');
    class 
    simple_categories_generator{
        var 
    $category_tree = array();

        function 
    simple_categories_generator() {
            if(
    SCT_REBUILD_TREE != 'false' || count($this->category_tree) == 0){
                global 
    $languages_id$db;
                
    $categories_query "select c.categories_id, cd.categories_name, c.parent_id
                              from " 
    TABLE_CATEGORIES " c, " TABLE_CATEGORIES_DESCRIPTION " cd
                              where c.categories_id = cd.categories_id
                              and c.categories_status=1
                              and cd.language_id = '" 
    . (int)$_SESSION['languages_id'] . "'
                              order by c.parent_id, c.sort_order, cd.categories_name"
    ;
                
    $categories $db->Execute($categories_query);
        
                while (!
    $categories->EOF) {
                    
    $this->category_tree[$categories->fields['categories_id']] = array('name' => $categories->fields['categories_name'],
                    
    'parent_id' => $categories->fields['parent_id']);
                    
    $this->category_tree[$categories->fields['categories_id']]['path'][] = $categories->fields['categories_id'];
                    
    $this->category_tree[$categories->fields['parent_id']]['sub_cats'][] = $categories->fields['categories_id'];
                    if(
    $categories->fields['parent_id'] > 0){
                        
    $this->category_tree[$categories->fields['categories_id']]['path'] = array_merge($this->category_tree[$categories->fields['parent_id']]['path'],$this->category_tree[$categories->fields['categories_id']]['path']);
                    }
                    
    $this->category_tree[$categories->fields['categories_id']]['cPath'] = implode('_',$this->category_tree[$categories->fields['categories_id']]['path']);        
                    
    $categories->MoveNext();
                }
                
    // add sub 'class' for print-out purpose
                
    foreach($this->category_tree as $key => $value){
                    
    $this->category_tree[$key]['sub'] = isset($this->category_tree[$key]['sub_cats']) ? 'has_sub' 'no_sub';            
                }    
            }
        }

        
    // 9 is a ridiculous level already. If you go deeper than that, you have some problem with performance + structure
        // Max level should be around 3
        
    function build_category_string($parent_tag 'div'$child_tag 'span'$categories_id 0$max_level 9$include_root false){
            if(!
    is_int($categories_id)){
                
    $temp explode('_',$categories_id);
                
    $categories_id $temp(count($temp)-1);
            }
            
    $result '';
            
    $level 0;
            
    $sub $this->category_tree[$categories_id]['sub'];
            
    // don't check if max_level = 0, since we assume store owners are not crazy enough to do that
            // --> less check = faster
            
    if(isset($this->category_tree[$categories_id])){
                if(
    $include_root && $categories_id 0){
                    
    $result .= "<$parent_tag class='level_$level $sub'><$child_tag class='level_$level $sub'>".$this->_build_category_string($categories_id,$parent_tag,$child_tag,$level,$max_level)."</$child_tag></$parent_tag>";
                }
                else{
                    if(isset(
    $this->category_tree[$categories_id]['sub_cats'])){
                        
    $result .= "<$parent_tag class='level_$level $sub'>";
                        foreach(
    $this->category_tree[$categories_id]['sub_cats'] as $key => $value){
                            
    $sub $this->category_tree[$value]['sub'];
                            
    $result .= "<$child_tag class='level_$level $sub'>".$this->_build_category_string($value,$parent_tag,$child_tag,$level,$max_level)."</$child_tag>";
                        }
                        
    $result .= "</$parent_tag>";
                    }
                }
                
    $result str_replace(array('<>','</>'), ''$result);
            }
            return 
    $result;
        }

        function 
    _build_category_string($categories_id 0$parent_tag 'div'$child_tag 'span'$level 0$max_level 9){
            
    $result $this->build_category_link($this->category_tree[$categories_id]['name'],$this->category_tree[$categories_id]['cPath']);
            
    $level++;
            if(
    $level $max_level){        
                
    $sub $this->category_tree[$categories_id]['sub'];
                if(isset(
    $this->category_tree[$categories_id]['sub_cats'])){
                    
    $result .= "<$parent_tag class='level_$level $sub'>";
                    foreach(
    $this->category_tree[$categories_id]['sub_cats'] as $key => $value){
                        
    $sub $this->category_tree[$value]['sub'];
                        
    $result .= "<$child_tag class='level_$level $sub'>".$this->_build_category_string($value,$parent_tag,$child_tag$level,$max_level)."</$child_tag>";
                    }
                    
    $result .= "</$parent_tag>";
                }
            }
            return 
    $result;
        }

        function 
    build_category_link($categories_name$cPath){
            return 
    '<a href="' zen_href_link(FILENAME_DEFAULT'cPath=' $cPath) . '">'.$categories_name.'</a>';
        }
    }
    I no longer provide installation support on forum for all my modules. However, if there are real bugs with the modules please feel free to contact me

  4. #4
    Join Date
    Oct 2006
    Posts
    5,477
    Plugin Contributions
    11

    Default Re: Simple Category Tree

    A new version with code improvement, and the ability to insert a delimiter between the children.
    PHP Code:
    <?php
    /**
     * Simple Category Tree
     * @Version: Beta 1
     * @Authour: yellow1912
     * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
     */ 

    define ('SCT_REBUILD_TREE','false');
    class 
    simple_categories_generator{
        var 
    $category_tree = array();
        var 
    $parent_open_tag '';
        var 
    $parent_close_tag '';
        var 
    $child_open_tag '';
        var 
    $child_close_tag '';
        function 
    simple_categories_generator() {
            if(
    SCT_REBUILD_TREE != 'false' || count($this->category_tree) == 0){
                global 
    $languages_id$db;
                
    $categories_query "select c.categories_id, cd.categories_name, c.parent_id
                              from " 
    TABLE_CATEGORIES " c, " TABLE_CATEGORIES_DESCRIPTION " cd
                              where c.categories_id = cd.categories_id
                              and c.categories_status=1
                              and cd.language_id = '" 
    . (int)$_SESSION['languages_id'] . "'
                              order by c.parent_id, c.sort_order, cd.categories_name"
    ;
                
    $categories $db->Execute($categories_query);
        
                while (!
    $categories->EOF) {
                    
    $this->category_tree[$categories->fields['categories_id']] = array('name' => $categories->fields['categories_name'],
                    
    'parent_id' => $categories->fields['parent_id']);
                    
    $this->category_tree[$categories->fields['categories_id']]['path'][] = $categories->fields['categories_id'];
                    
    $this->category_tree[$categories->fields['parent_id']]['sub_cats'][] = $categories->fields['categories_id'];
                    if(
    $categories->fields['parent_id'] > 0){
                        
    $this->category_tree[$categories->fields['categories_id']]['path'] = array_merge($this->category_tree[$categories->fields['parent_id']]['path'],$this->category_tree[$categories->fields['categories_id']]['path']);
                    }
                    
    $this->category_tree[$categories->fields['categories_id']]['cPath'] = implode('_',$this->category_tree[$categories->fields['categories_id']]['path']);        
                    
    $categories->MoveNext();
                }
                
    // add sub 'class' for print-out purpose
                
    foreach($this->category_tree as $key => $value){
                    
    $this->category_tree[$key]['sub'] = isset($this->category_tree[$key]['sub_cats']) ? 'has_sub' 'no_sub';            
                }    
            }
        }

        
    // 9 is a ridiculous level already. If you go deeper than that, you have some problem with performance + structure
        // Max level should be around 3
        
    function build_category_string($parent_tag 'div'$child_tag 'span'$divider ''$categories_id 0$max_level 9$include_root false){
            if(!
    is_int($categories_id)){
                
    $temp explode('_',$categories_id);
                
    $categories_id $temp(count($temp)-1);
            }
            
            
    $result '';
            
    // don't check if max_level = 0, since we assume store owners are not crazy enough to do that
            // --> less check = faster
            
    if(isset($this->category_tree[$categories_id])){
                
    // 
                
    $sub $this->category_tree[$categories_id]['sub'];
                
    $level 0;
                
    $class "level_$level $sub";
                
    $this->_build_tags($parent_tag$child_tag);
                
    // check if we should include the root or only its branches
                
    if($include_root && $categories_id 0){
                    
    $result sprintf($this->parent_open_tag$class).sprintf($this->child_open_tag$class);
                    
    $result .= $this->_build_category_string($categories_id$level$max_level$divider);
                    
    $result .= $this->child_close_tag.$this->parent_close_tag;
                }
                else{
                    
    $result .= $this->__build_category_string($categories_id$level$max_level$divider);
                }
                
            }
            return 
    $result;
        }

        function 
    _build_category_string($categories_id$level$max_level$divider){        
            
    $result $this->build_category_link($this->category_tree[$categories_id]['name'],$this->category_tree[$categories_id]['cPath']);
            
    $level++;
            
    $result .= $this->__build_category_string($categories_id$level$max_level$divider);
            return 
    $result;
        }

        function 
    __build_category_string($categories_id$level$max_level$divider){
            
    $result '';
            if(
    $level $max_level){        
                
    $sub $this->category_tree[$categories_id]['sub'];
                
    $class "level_$level $sub";
                if(isset(
    $this->category_tree[$categories_id]['sub_cats'])){
                        
    $result .= sprintf($this->parent_open_tag$class);
                        
    $count count($this->category_tree[$categories_id]['sub_cats']);
                        for(
    $i=0$i $count$i++){
                            
    $sub $this->category_tree[$value]['sub'];
                            
    $class "level_$level $sub";
                            
    $result .= sprintf($this->child_open_tag$class).$this->_build_category_string($this->category_tree[$categories_id]['sub_cats'][$i],$level,$max_level$divider).$this->child_close_tag;
                            
    $result .= ($i < ($count-1)) ? $divider '';
                        }
                        
    $result .= $this->parent_close_tag;
                    }
            }
            return 
    $result;
        }
        
        function 
    _build_tags($parent_tag$child_tag){
            if(!empty(
    $parent_tag)){
                
    $this->parent_open_tag "<$parent_tag class='%s'>";
                
    $this->parent_close_tag "</$parent_tag>";        
            }
            else{
                
    $this->parent_open_tag $this->parent_close_tag '';        
            }
            if(!empty(
    $child_tag)){
                
    $this->child_open_tag "<$child_tag class='%s'>";
                
    $this->child_close_tag "</$child_tag>";        
            }
            else{
                
    $this->child_open_tag $this->child_close_tag '';
            }
        }
        
        function 
    build_category_link($categories_name$cPath){
            return 
    '<a href="' zen_href_link(FILENAME_DEFAULT'cPath=' $cPath) . '">'.$categories_name.'</a>';
        }
    }
    I no longer provide installation support on forum for all my modules. However, if there are real bugs with the modules please feel free to contact me

  5. #5
    Join Date
    Mar 2004
    Location
    Calgary, Alberta
    Posts
    290
    Plugin Contributions
    1

    Default Re: Simple Category Tree

    This looks very cool, and might solve my problem. One question is you showed a line to show how it works, but where would someone put this within the zc files?

    and I want to show the first 2 levels all the time, but still allow the user to dig in deeper in the sub cat they are interested in, will tis still allow that?

  6. #6
    Join Date
    Oct 2006
    Posts
    5,477
    Plugin Contributions
    11

    Default Re: Simple Category Tree

    1. but where would someone put this within the zc files?
    --> Put it any place you want to show the navigation bar

    2. and I want to show the first 2 levels all the time, but still allow the user to dig in deeper in the sub cat they are interested in, will tis still allow that?

    You can, just do something like this for instance:

    PHP Code:
    <?php   echo $_SESSION['category_tree']->build_category_string('ul','li','',isset($_GET['cPath'])?$_GET['cPath']:02);?>
    The sample code above does something like this:
    If cPath (categories_id) is on the link, then use that as a root, otherwise use 0 (the root of the tree).
    I no longer provide installation support on forum for all my modules. However, if there are real bugs with the modules please feel free to contact me

  7. #7
    Join Date
    Mar 2004
    Location
    Calgary, Alberta
    Posts
    290
    Plugin Contributions
    1

    Default Re: Simple Category Tree

    Both classes/simple_categories_tree_generator.php examples are missing the end PHP tag.

    As well I've dropped both files in place, fixed the end tag, but zencart dies. Remove the auto load and all is fine again.

    I should also mention I've not put in any code to actually execute the display, only added the 2 files.

  8. #8
    Join Date
    Jan 2009
    Posts
    2,123
    Plugin Contributions
    0

    Default Re: Simple Category Tree

    Just writing to say a big thank you for the "all_sub_cats_products" mod. I just installed it and it worked an absolute treat, first time around with zero glitches. PERFECTO!!

    Why isn't this available to download in the main downloads area?! It's too useful not to be!!

  9. #9
    Join Date
    Apr 2005
    Location
    Louny, Czech Republic
    Posts
    51
    Plugin Contributions
    1

    Default Re: Simple Category Tree

    Hi yellow1912, nice module. But in center column not showing navigation (name sub-category or image) for others subcategories. Is possibility their display?
    JardaR

  10. #10
    Join Date
    Jan 2009
    Location
    Czech Republic
    Posts
    59
    Plugin Contributions
    0

    Default Re: Simple Category Tree

    Quote Originally Posted by ryska View Post
    Hi yellow1912, nice module. But in center column not showing navigation (name sub-category or image) for others subcategories. Is possibility their display?
    In file "/includes/templates/YOURTEMPLATE/templates/tpl_index_product_list.php" find this line:
    <?php } // categories_description ?>
    BELOW this line, paste the following code :
    PHP Code:
    <!-- BOF: Display grid of available sub-categories, if any -->
    <?php
      
    if (PRODUCT_LIST_CATEGORY_ROW_STATUS == 0) {
        
    // do nothing
      
    } else {
        
    // display subcategories
    /**
     * require the code to display the sub-categories-grid, if any exist
     */
       
    require($template->get_template_dir('tpl_modules_category_row.php',DIR_WS_TEMPLATE$current_page_base,'templates'). '/tpl_modules_category_row.php');
      }
    ?>
    <!-- EOF: Display grid of available sub-categories -->
    In file "/includes/modules/pages/index/main_template_vars.php" find this line:
    $tpl_page_body = 'tpl_index_product_list.php';
    ABOVE this line, paste the following code :
    PHP Code:
        /* ---------------- BOF - THIS MAKES SUB-CATS WORK -------------------- */
          
    $sql "SELECT cd.categories_name, c.categories_image
                  FROM   " 
    TABLE_CATEGORIES " c, " TABLE_CATEGORIES_DESCRIPTION " cd
                  WHERE      c.categories_id = :categoriesID
                  AND        cd.categories_id = :categoriesID
                  AND        cd.language_id = :languagesID
                  AND        c.categories_status= '1'"
    ;
        
          
    $sql $db->bindVars($sql':categoriesID'$current_category_id'integer'); 
          
    $sql $db->bindVars($sql':languagesID'$_SESSION['languages_id'], 'integer'); 
          
    $category $db->Execute($sql);
        
          if (isset(
    $cPath) && strpos($cPath'_'))
          {
            
    // check to see if there are deeper categories within the current category
            
    $category_links array_reverse($cPath_array);
            for(
    $i=0$n=sizeof($category_links); $i<$n$i++)
            {
              
    $sql "SELECT count(*) AS total
                      FROM   " 
    TABLE_CATEGORIES " c, " TABLE_CATEGORIES_DESCRIPTION " cd
                      WHERE      c.parent_id = :parentID 
                      AND        c.categories_id = cd.categories_id
                      AND        cd.language_id = :languagesID
                      AND        c.categories_status= '1'"
    ;
        
              
    $sql $db->bindVars($sql':parentID'$category_links[$i], 'integer'); 
              
    $sql $db->bindVars($sql':languagesID'$_SESSION['languages_id'], 'integer'); 
              
    $categories $db->Execute($sql);
        
              if (
    $categories->fields['total'] < 1)
              {
                
    // do nothing, go through the loop
              
    } else {
                
    $categories_query "SELECT c.categories_id, cd.categories_name, c.categories_image, c.parent_id
                                     FROM   " 
    TABLE_CATEGORIES " c, " TABLE_CATEGORIES_DESCRIPTION " cd
                                     WHERE      c.parent_id = :parentID
                                     AND        c.categories_id = cd.categories_id 
                                     AND        cd.language_id = :languagesID 
                                     AND        c.categories_status= '1' 
                                     ORDER BY   sort_order, cd.categories_name"
    ;
        
                
    $categories_query $db->bindVars($categories_query':parentID'$category_links[$i], 'integer');
                
    $categories_query $db->bindVars($categories_query':languagesID'$_SESSION['languages_id'], 'integer'); 
                break; 
    // we've found the deepest category the customer is in
              
    }
            }
          } else {
            
    $categories_query "SELECT c.categories_id, cd.categories_name, c.categories_image, c.parent_id
                                 FROM   " 
    TABLE_CATEGORIES " c, " TABLE_CATEGORIES_DESCRIPTION " cd
                                 WHERE      c.parent_id = :parentID
                                 AND        c.categories_id = cd.categories_id
                                 AND        cd.language_id = :languagesID
                                 AND        c.categories_status= '1'
                                 ORDER BY   sort_order, cd.categories_name"
    ;
        
            
    $categories_query $db->bindVars($categories_query':parentID'$current_category_id'integer');
            
    $categories_query $db->bindVars($categories_query':languagesID'$_SESSION['languages_id'], 'integer'); 
          }
          
    $categories $db->Execute($categories_query);
          
    $number_of_categories $categories->RecordCount();
          
    $new_products_category_id $current_category_id;  
          
        
    /* ---------------- EOF - THIS MAKES SUB-CATS WORK -------------------- */ 
    This modification was based on bodyjewelrystores code. I havenīt had problems with displaying names of sub-category or image. I hope it will solve your problem.

 

 
Page 1 of 2 12 LastLast

Similar Threads

  1. Category Tree
    By fneergaard in forum Templates, Stylesheets, Page Layout
    Replies: 2
    Last Post: 13 Aug 2010, 11:42 PM
  2. Redesigning Category Tree
    By moomo in forum Setting Up Categories, Products, Attributes
    Replies: 1
    Last Post: 30 Dec 2009, 01:53 PM
  3. Category tree
    By ner0tik in forum Setting Up Categories, Products, Attributes
    Replies: 0
    Last Post: 10 Aug 2006, 02:19 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg