Hiho...
Problem analysiert und gefunden.
In der MySQL anfrage an die Datenbank sollten eigentlich nur die Einträge ausgelesen werden die keine Startartikel sind. Die SQL Anweisung lautet:
Code: Alles auswählen
SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid FROM con_cat_art AS CATART, con_art_lang AS ARTLANG, con_cat AS CAT, con_content AS CONTENT WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang = CONTENT.idartlang AND ARTLANG.idlang = '1' AND CAT.idcat = '117' AND CAT.idclient = '1' AND ARTLANG.online = '1' AND CATART.is_start='0' ORDER BY ARTLANG.idart, CONTENT.typeid ASC
In dieser Anweisung steht >>> CATART.is_start='0' <<<
Und hier liegt das Problem. Bei der installierten Version 4.5.2. wird in der Datenbanktabelle con_cat_art in der Spalte is_start jeder Artikel auf 0 gesetzt.
Dadurch werden die Startartikel ebenfalls mit ausgewählt und man bekommt in der Funkton array_multisort() einen Fehler wodurch das Array nicht mehr sortiert wird und die Übersicht die Daten in der Reihenfolge ausgibt wie sie eingetragen wurden und nicht nach dem jüngstem Datum.
Wenn man nun den Startartikel direkt in der Datenbank den Wert 1 zuweist funktioniert die MySQL Anfrage und die richtig sortierte Ausgabe Problemlos.
Nun also zu dem eigentlichen neuen Problem. Wieso wird in der Datenbank beim Anwählen des Artikels und beim Setzen des Artikels als Startartikel in der Datenbank con_cat_art der wert ist_start nicht auf 1 gesetzt während im Contenido in diesem Artikel aber der Haken bei Startartikel gesetzt ist und dieser Artikel auch als Startartikel angezeigt wird?
Dazu habe ich eben folgenden Artikel gefunden der das Problem erläutert:
http://www.contenido.org/forum/viewtopic.php?t=7174
Gruß
yodatortenboxer
