Hallo, hat jemand eine Idee, wie ich Kategorien, welche keine Artikelzuorndung haben löschen kann? Natürlich angefangen von der untersten Ebene. Über die alte API gibt es sDeleteEmptyCategories() Diese Funktion ist wohl fehlerhaft und löscht alle /\*\* \* Delete empty categories \*/ function sDeleteEmptyCategories () { $sql = " DELETE ac FROM s\_articles\_categories ac LEFT JOIN s\_categories c ON c.id = ac.categoryID LEFT JOIN s\_articles a ON a.id = ac.articleID WHERE c.id IS NULL OR a.id IS NULL "; Shopware()-\>Db()-\>exec($sql); $sql = " SELECT c.id, COUNT(ac.id) as articleCount FROM s\_categories c LEFT JOIN s\_articles\_categories ac ON ac.categoryID = c.id GROUP BY c.id HAVING articleCount = 0 AND c.id \<\> 1 AND c.id NOT IN (SELECT category\_id FROM s\_core\_shops) "; $emptyCategories = Shopware()-\>Db()-\>fetchCol($sql); $result = 0; if (count($emptyCategories)) { $result = Shopware()-\>Db()-\>delete('s\_categories', array('id IN(?)' =\> $emptyCategories)); } }
Danke