In Gambio wird der (erste) Kategorienpfad eines Artikels aus der "products_id" mit dieser Routine ermittelt: PHP: function xtc_get_product_path($products_id) { $cPath = ''; $category_query = "select p2c.categories_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_id = '" . (int)$products_id . "' and p.products_status = '1' and p.products_id = p2c.products_id and p2c.categories_id != 0 limit 1"; $category_query = xtDBquery($category_query); if (xtc_db_num_rows($category_query,true)) { $category = xtc_db_fetch_array($category_query); $categories = array(); xtc_get_parent_categories($categories, $category['categories_id']); $categories = array_reverse($categories); $cPath = implode('_', $categories); if (xtc_not_null($cPath)) $cPath .= '_'; $cPath .= $category['categories_id']; } return $cPath; } Dabei wird allerdings nicht berücksichtigt, ob diese "Heimat"-Kategorie den "categories_status" "1" hat, so dass u.U. eine inaktive Kategorie als "Heimat"-Kategorie ermittelt wird. Die folgende Version löst das Problem: PHP: function xtc_get_product_path($products_id) { $cPath = ''; $category_query = " SELECT DISTINCT p2c.categories_id FROM " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c WHERE p.products_id = '" . (int)$products_id . "' AND p.products_status = '1' AND p.products_id = p2c.products_id AND c.categories_id= p2c.categories_id AND p2c.categories_id != 0 AND c.categories_status=1 LIMIT 1"; $category_query = xtDBquery($category_query); if (xtc_db_num_rows($category_query,true)) { $category = xtc_db_fetch_array($category_query); $categories = array(); xtc_get_parent_categories($categories, $category['categories_id']); $categories = array_reverse($categories); $cPath = implode('_', $categories); if (xtc_not_null($cPath)) $cPath .= '_'; $cPath .= $category['categories_id']; } return $cPath; } Das Problem ist in allen Gambio-Versionen vorhanden.
Hallo Avenger, danke für die Meldung. Wir werden das Prüfen und mit einem der nächsten SPs beheben. https://tracker.gambio-server.net/issues/43143 https://tracker.gambio-server.net/issues/43144 LG Torben