Как массово привязать все товары к родительской категории!
Как массово привязать все товары к родительской категории выбирая самую последнюю дочернюю.
Добавляем следующий код в контроллер категории к примеру после
$this->getList();
Добавить следующий код
$categories = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "category"); foreach ($categories->rows AS $category) { $level = $this->db->query("SELECT GROUP_CONCAT(c.category_id ORDER BY cp.level SEPARATOR '_') AS category_id FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category c ON (cp.path_id = c.category_id) WHERE cp.category_id = '" . $category['category_id'] . "'")->row; if ($level['category_id']) { $level_array = explode('_', $level['category_id']); $level_end = end($level_array); $parent_id = $this->db->query("SELECT category_id, parent_id FROM " . DB_PREFIX . "category WHERE parent_id = '" . (int)$level_end . "'")->row; if (empty($parent_id['parent_id'])) { $this->db->query("UPDATE " . DB_PREFIX . "product_to_category SET main_category = '1' WHERE category_id = '" . (int)$level_end . "'"); } } }
Затем зайти в любую категорию и нажать сохранить. Все товары должны привязаться к Главной категории ( поле будет заполнено )
После чего удалить выше указанный код.