From f6355ff2d5f16afc49fe0502632d9a156b47f620 Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Fri, 6 Sep 2013 17:09:32 +0200 Subject: [PATCH] [-] BO : Change categories tree method --- controllers/admin/AdminProductsController.php | 96 ++++++++++++++++++- 1 file changed, 92 insertions(+), 4 deletions(-) diff --git a/controllers/admin/AdminProductsController.php b/controllers/admin/AdminProductsController.php index 8aba06710..492060a63 100644 --- a/controllers/admin/AdminProductsController.php +++ b/controllers/admin/AdminProductsController.php @@ -2309,8 +2309,7 @@ class AdminProductsControllerCore extends AdminController $this->tpl_list_vars['is_category_filter'] = (bool)$this->id_current_category; // Generate category selection tree - $helper = new Helper(); - $this->tpl_list_vars['category_tree'] = $helper->renderCategoryTree(null, array((int)$id_category), 'categoryBox', true, false, array(), false, true); + $this->tpl_list_vars['category_tree'] = $this->renderCategoriesTree((int)$id_category); // used to build the new url when changing category $this->tpl_list_vars['base_url'] = preg_replace('#&id_category=[0-9]*#', '', self::$currentIndex).'&token='.$this->token; @@ -2329,6 +2328,96 @@ class AdminProductsControllerCore extends AdminController return parent::renderList(); } + public function renderCategoriesTree($selectedCategory = null) + { + $tree = new HelperTree('categories-tree', Category::getNestedCategories()); + + $html = $tree->setTitle('Filter by category') + ->setActions(array( + new HelperTreeToolbarLink('Collapse All', '$(\'#categories-tree\').tree(\'collapseAll\')', '#', 'icon-collapse-alt'), + new HelperTreeToolbarLink('Expand All', '$(\'#categories-tree\').tree(\'expandAll\')', '#', 'icon-expand-alt') + )) + ->setTemplateDirectory($this->context->smarty->getTemplateDir(0).'/controllers/products/helpers/tree') + ->render(); + $html .= ''; + return $html; + } + + public function renderAssociationsCategoriesTree() + { + $tree = new HelperTree('associated-categories-tree', Category::getNestedCategories()); + + $html = $tree->setTitle('Associated categories') + ->setActions(array( + new HelperTreeToolbarLink('Collapse All', '$(\'#associated-categories-tree\').tree(\'collapseAll\')', '#', 'icon-collapse-alt'), + new HelperTreeToolbarLink('Expand All', '$(\'#associated-categories-tree\').tree(\'expandAll\')', '#', 'icon-expand-alt'), + new HelperTreeToolbarLink('Check All', 'checkAllAssociatedCategories();', '#', 'icon-check-sign'), + new HelperTreeToolbarLink('Uncheck All', 'uncheckAllAssociatedCategories();', '#', 'icon-check-empty') + )) + ->setTemplateDirectory($this->context->smarty->getTemplateDir(0).'/controllers/products/helpers/tree') + ->setNodeFolderTemplate('tree_node_folder_associations.tpl') + ->setNodeFolderTemplate('tree_node_item_associations.tpl') + ->render(); + $html .= ''; + return $html; + } + public function ajaxProcessProductManufacturers() { $manufacturers = Manufacturer::getManufacturers(); @@ -2933,12 +3022,11 @@ class AdminProductsControllerCore extends AdminController $tab_root = array('id_category' => $root->id, 'name' => $root->name); $helper = new Helper(); - $category_tree = $helper->renderCategoryTree($tab_root, $selected_cat, 'categoryBox', false, true, array(), false, true); $data->assign(array('default_category' => $default_category, 'selected_cat_ids' => implode(',', array_keys($selected_cat)), 'selected_cat' => $selected_cat, 'id_category_default' => $product->getDefaultCategory(), - 'category_tree' => $category_tree, + 'category_tree' => $this->renderAssociationsCategoriesTree(), 'product' => $product, 'link' => $this->context->link, 'is_shop_context' => Shop::getContext() == Shop::CONTEXT_SHOP