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