diff --git a/classes/Category.php b/classes/Category.php index f3229ab9b..fe4083a8d 100644 --- a/classes/Category.php +++ b/classes/Category.php @@ -744,17 +744,17 @@ class CategoryCore extends ObjectModel public static function getChildren($id_parent, $id_lang, $active = true, $id_shop = false) { if (!Validate::isBool($active)) - die(Tools::displayError()); + die(Tools::displayError()); - $query = 'SELECT c.`id_category`, cl.`name`, cl.`link_rewrite`, category_shop.`id_shop` + $query = 'SELECT c.`id_category`, cl.`name`, cl.`link_rewrite`, category_shop.`id_shop` FROM `'._DB_PREFIX_.'category` c LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category`'.Shop::addSqlRestrictionOnLang('cl').') '.Shop::addSqlAssociation('category', 'c').' WHERE `id_lang` = '.(int)$id_lang.' AND c.`id_parent` = '.(int)$id_parent.' '.($active ? 'AND `active` = 1' : '').' + GROUP BY c.`id_category` ORDER BY category_shop.`position` ASC'; - return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query); } diff --git a/controllers/admin/AdminShopController.php b/controllers/admin/AdminShopController.php index 88148abbe..82b876d17 100755 --- a/controllers/admin/AdminShopController.php +++ b/controllers/admin/AdminShopController.php @@ -548,7 +548,7 @@ class AdminShopControllerCore extends AdminController $this->errors[] = Tools::displayError('An error occurred while creating object.'). ' '.$this->table.' ('.Db::getInstance()->getMsgError().')'; } - /* voluntary do affectation here */ + /* voluntary do affectation here */ else if (($_POST[$this->identifier] = $object->id) && $this->postImage($object->id) && !count($this->errors) && $this->_redirect) { $parent_id = (int)Tools::getValue('id_parent', 1); @@ -569,8 +569,8 @@ class AdminShopControllerCore extends AdminController $this->errors = array_unique($this->errors); if (count($this->errors) > 0) { - $this->display = 'add'; - return; + $this->display = 'add'; + return; } // datas to import @@ -601,11 +601,13 @@ class AdminShopControllerCore extends AdminController if (empty($selected_cat)) { // get first category root and preselect all these children - $root_category = Category::getRootCategories(); - $children = Category::getChildren($root_category[0]['id_category'], $this->context->language->id); - $selected_cat[] = $root_category[0]['id_category']; + $root_categories = Category::getRootCategories(); + $root_category = new Category($root_categories[0]['id_category']); + $children = $root_category->getAllChildren($this->context->language->id); + $selected_cat[] = $root_categories[0]['id_category']; + foreach ($children as $child) - $selected_cat[] = $child['id_category']; + $selected_cat[] = $child->id_category; } if (Shop::getContext() == Shop::CONTEXT_SHOP && Tools::isSubmit('id_shop')) $root_category = new Category($shop->id_category);