Hallo zusammen,
mit der derzeit aktuellen Shopversion 2.0.7.2 läuft diese kleine nützliche Erweiterung nicht mehr (ggf. auch schon früher), weil die genutzte SQL-Abfrage in der default.php um ein "LIMIT 1" ergänzt wurde und das Ergebnis somit immer 1 Produkt pro Kategorie sein wird.
Ich habe deswegen die SQL-Abfrage in das Skript kopiert und einen neuen Variablennamen vergeben:
<?php/* Check if category contains only 1 article
If only one article open directly articles-details-page
*/if(isset($_GET['cPath'])) { $local_categories_products_query = "SELECT p2c.products_id
FROM ".TABLE_PRODUCTS_TO_CATEGORIES
." p2c
JOIN ".TABLE_PRODUCTS
." p
ON p2c.products_id = p.products_id
AND p2c.categories_id ".((count($subcategories_array) > 1) ?
"IN (".implode(', ', $subcategories_array).") " : "= '".(int
)$current_category_id."' ")."
WHERE p.products_status = '1'
".PRODUCTS_CONDITIONS_P
; $local_categories_products_result = xtDBquery
($local_categories_products_query); if (($category_depth == 'products') && (xtc_db_num_rows
($local_categories_products_result, true) == 1)){ $forward_product = xtc_db_fetch_array
($categories_products_result, true); xtc_redirect
(xtc_href_link
(FILENAME_PRODUCT_INFO
, 'products_id='.$forward_product['products_id'])); }}?> Zusätzlich sollte das Skript verschoben werden nach includes/extra/default/category_depth/ da es ansonsten unter PHP 8.x zu einem Fehler auf alle Nicht-Kategorie-Seiten, da dort die verwendeten Variablen nicht verfügbar sind.
Gruß
Dominik