OpenCart 🇺🇦

Схема

public mixed repairCategories ( $parent_id = 0 )

Аргументы

Аргумент Возможный тип Описание
$parent_id = 0

Описание

Метод пока еще не документирован.

Исходный код

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category WHERE parent_id = '" . (int)$parent_id . "'");

foreach ($query->rows as $category) {
	// Delete the path below the current one
	$this->db->query("DELETE FROM `" . DB_PREFIX . "category_path` WHERE category_id = '" . (int)$category['category_id'] . "'");

	// Fix for records with no paths
	$level = 0;

	$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "category_path` WHERE category_id = '" . (int)$parent_id . "' ORDER BY level ASC");

	foreach ($query->rows as $result) {
		$this->db->query("INSERT INTO `" . DB_PREFIX . "category_path` SET category_id = '" . (int)$category['category_id'] . "', `path_id` = '" . (int)$result['path_id'] . "', level = '" . (int)$level . "'");

		$level++;
	}

	$this->db->query("REPLACE INTO `" . DB_PREFIX . "category_path` SET category_id = '" . (int)$category['category_id'] . "', `path_id` = '" . (int)$category['category_id'] . "', level = '" . (int)$level . "'");

	$this->repairCategories($category['category_id']);
}