Kategoriebaum (nested sets) geht verloren

18. Oktober 2013

 

Wie in jedem Shop ist es auch im OXID eShop möglich, einen beliebigen Kategoriebaum zu erstellen.

Dies bedeutet es gibt Haupt- und Unterkategorien, welche auch wieder Unterkategorien enthalten können. Diese Funktion („nested sets„) wird in der OXID-Tabelle oxcategories mit den Feldern oxleft und oxright abgebildet. Detaillierte Informationen gibt´s im imva-Blog.

Leider berichten unterschiedliche Leute immer wieder von Problemen, dass genau diese Zuordnung verloren geht. Auch wir mussten deswegen gestern einige Zeit in das Debuggen investieren, was zu letztendlich folgendem Eintrag im OXID Bugtracker gehführt hat:

0004864: Updating of the Category-Tree fails if AdminChangeLog is enabled

Kurz beschrieben: Aktiviert man das Admin-Log (alle Aktionen im Shop-Admin werden in der Tabelle oxadminlog festgehalten) verlieren alle Kategorien bei der nächsten Bearbeitung (z. B. neue Kategorie anlegen) Ihre Zuordnungen und die gesamte Navigation ist defekt.

Nutzt man nun weiterführende Module für die Navigation, z. B. Umschreibung von SEO-URLs oder modulbasierte Navigation mit SOLR entstehen lauter unkontrollierbare SEO-URLs, welche den Shop nicht mehr navigierbar machen.

Leider ist der Bug, aufgrund der Verwendung von ADODBlite nicht so einfach lösbar. OXID hat zumindest im Bugtracker einen Hotfix zur Verfügung gestellt.