diff --git a/classes/Product.php b/classes/Product.php index 248c7ad6a..211697d20 100644 --- a/classes/Product.php +++ b/classes/Product.php @@ -757,15 +757,19 @@ class ProductCore extends ObjectModel // take the first selected category to get the category tree (nleft and nright) $category = new Category($categories[0]); // get max position in each categories + $and = ''; + if (Shop::isFeatureActive()) + $and = ' + AND (c.`nleft` < '.(int)$category->nleft.' + AND c.`nright` > '.(int)$category->nright.' + AND c.`level_depth` = 1)'; $result = Db::getInstance()->executeS(' SELECT c.`id_category` FROM `'._DB_PREFIX_.'category_product` cp LEFT JOIN `'._DB_PREFIX_.'category` c ON (c.`id_category` = cp.`id_category`) WHERE cp.`id_category` NOT IN('.implode(',', array_map('intval', $categories)).') - AND (c.`nleft` < '.(int)$category->nleft.' - AND c.`nright` > '.(int)$category->nright.' - AND c.`level_depth` = 1) + '.$and.' AND cp.id_product = '.$this->id ); foreach ($result as $categ_to_delete)