Seite 1 von 1
#625 - Problem beim Verschieben einer Kategorie
Verfasst: Fr 13. Mär 2026, 13:04
von bodil
Liebe Gemeinde!
Ich habe die aktuellste Contendio-Version testweise für das Update einer bestehenden Webseite benutzt. Ich wollte den Kategoriebaum umbauen: Root heißt main, darunter 5 Kategorien. Die brauche ich aber künftig doppelt. Daher habe ich in main die Kategorie main1 eingefügt und wollte dann alle übrigen Kategorien dorthin verschieben.
Von
nach
nach
Beim letzten Schritt (aus cat1 ein Unterkategorie von main1 zu machen) gab es eine orangene Fehlermeldung:
Code: Alles auswählen
Die Kategorie 2 hat eine ungültige parent id (14). Sie existiert nicht!
Die Kategorie 3 hat eine ungültige parent id (1). Sie existiert nicht!
Die Kategorie 3 hat eine ungültige post-id (4). Diese Kategorie existiert nicht! Sortieren unmöglich.
Es gibt kein definiertes Ende (eine Kategorie mit postid == 0) in 1. Sortieren ist unmöglich.
Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.
Im Errorlog taucht das hier auf:
Code: Alles auswählen
PHP Fatal error: Uncaught Error: Call to a member function get() on null in contenido/classes/class.backend.php:281
Stack trace:
#0 contenido/main.php(196): cBackend->log()
#1 {main}
thrown in contenido/classes/class.backend.php on line 281
Im Originalsystem haben Versuche mit ähnlichen Manövern geklappt. Es erneut zu versuchen hat übrigens nicht geklappt.
Die Kategorien, die laut Medung nicht existieren soll, sind alle vorhanden.
Weiß jemand, was zu tun ist?
Was ich über den Server weiß:
Code: Alles auswählen
Webserver-Version Apache
Installierte PHP-Version 8.3.30
Datenbankserver-Version 10.11.15-MariaDB-log
PHP-Datenbankerweiterung mysqli
Vielen Dank!
bodil
Re: Problem beim Verschieben einer Kategorie
Verfasst: Mo 16. Mär 2026, 09:28
von Faar
Guten Morgen Bodil,
ich habe sowas ähnliches in älteren Systemen gehabt, wo der Kategoriebaum nicht richtig aktualisiert wurde nach Löschungen oder Veränderungen. Sollte sich glaub in 4.8 noch finden lassen.
Updatet man ein solches System, zieht man die Fehler mit, die dann irgendwann zuschlagen.
Man kann in der DB die Kategorien reparieren, wenn man den gewünschten Menübaum hat.
Eventuell ist die con_cat_tree defekt, danach muss man hier im Forum suchen.
Jedenfalls haben bei mir solche Verschiebeaktionen einwandfrei funktioniert, nachdem der Fehler im System behoben war.
Wie alt war das geupdatete System?
Xmurrix hat glaub ich die Funktionen repariert damals.
Re: Problem beim Verschieben einer Kategorie
Verfasst: Di 17. Mär 2026, 08:28
von bodil
Hi Faar!
Vielen Dank! Da check ich mal die Datenbank. Von der con_cat_tree dachte ich, sie werde nach jeder Aktion automatisch aktualisiert? Dann müsste zumindest die ja korrekt sein, wenn alles andere auch stimmt?
Viele Grüße!
bodil
Re: Problem beim Verschieben einer Kategorie
Verfasst: Di 17. Mär 2026, 15:38
von Faar
Also, xmurrix hat da mal was repariert weil es damals eben nicht immer automatisch aktualisiert wurde.
Meines Wissens kann man die con_cat_tree leeren und dann wird sie neu gefüllt.
Ich würde da aber vorher eine Sicherung der Tabelle machen.
Wenn man sich auskennt, kann man die Werte in der tree-Tabelle mit denen der con_cat und anderen vergleichen und schauen, ob das stimmt.
Manchmal ist es besser, man zieht ein neues System parallel auf und zzieht dann die Daten rüber, je nachdem wie groß und komplex das System ist.
Re: Problem beim Verschieben einer Kategorie
Verfasst: Mi 8. Apr 2026, 10:36
von bodil
Nach einem Check der Datenbank habe ich da keinerlei Unstimmigkeiten entdeckt. Ich habe jetzt zum Umziehen einer Kategorie deren Parentid in der con_cat geändert und die con_cat_tree wurde automatisch angepasst. Auch die Reihnfolge von Kategorien konnte ich ändern, in dem ich in der con_cat_tree die idcats getauscht habe. Würde ich in keinem Produktiv-System versuchen und auch nicht bei Mehrsprachigkeit, aber hier im Testsystem sieht erst mal alles prima aus ...
Dank an alle Mitdenker!
bodil
Edit: Don't try this at home ... meine Datenbank ist jetzt so korrupt, dass mir der Tab Kategorie inzwischen gar nichts mehr anzeigt und die con_cat_tree leer ist. Uiuiui ... dann also doch alles neu ... Versuch macht kluch ... hoffentlich!
Re: Problem beim Verschieben einer Kategorie
Verfasst: Fr 10. Apr 2026, 07:41
von bodil
Guten Morgen!
Das ist etwas beunruhigend: Ich habe das System neu aufgesetzt unter Verwendung der Github-Version vom 13.3.2026 und der Fehler besteht weiterhin.
• Ich kann einzelene Kategorien nicht schrittweise verschieben.
• Ich kann Kategorien nicht lösen und woanders wieder anhängen.
• Ich kann Kategorien nicht per Drag and Drop verschieben.
Das System:
CONTENIDO Version 4.10.2-dev
Webserver-Version Apache
Installierte PHP-Version 8.3.30
Datenbankserver-Version 10.11.15-MariaDB-log
PHP-Datenbankerweiterung mysqli
Außer der orangenen Meldung im Kategorie-Tab
Code: Alles auswählen
Die Kategorie 4 hat eine ungültige parent id (2). Sie existiert nicht!
Die Kategorie 5 hat eine ungültige parent id (2). Sie existiert nicht!
Die Kategorie 7 hat eine ungültige parent id (2). Sie existiert nicht!
Die Kategorie 16 hat eine ungültige parent id (2). Sie existiert nicht!
Es gibt keinen definierten Start (eine Kategorie mit preis == 0) in 2. Sortieren ist unmöglich.
Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.
gab es auch eine im Errorlog (der ich aber noch nicht nachgegangen bin):
Code: Alles auswählen
PHP Warning: Undefined variable $parentid_new in contenido/includes/type/action/include.str_movesubtree.action.php on line 33
PHP Warning: Undefined variable $preid_new in contenido/includes/type/action/include.str_movesubtree.action.php on line 33
PHP Warning: Undefined variable $postid_new in contenido/includes/type/action/include.str_movesubtree.action.php on line 33
PHP Warning: Undefined variable $parentid_new in contenido/includes/type/action/include.str_movesubtree.action.php on line 39
Auf meinem lokalen Rechner habe ich am 14.2.eine Testversion mit Beispielmandant installiert. Dort funktioniert all das auch nicht:
CONTENIDO Version 4.10.2-dev
Webserver-Version Apache/2.4.53 (Win64) OpenSSL/1.1.1n PHP/8.1.6
Installierte PHP-Version 8.5.0
Datenbankserver-Version 10.4.24-MariaDB
PHP-Datenbankerweiterung mysqli
Ich mache mich mal auf die Fehlersuche im Code …
bodil
Edit: Herzliche Einladung, mal zu versuchen, das Problem in euren Testsystemen zu reproduzieren. Bitte im Tab Content -> Kategorie mal eine Kategorie mittels Pfeiltaste verschieben. Nicht, dass ich hier nach einem PEBKAC suche ... Dankeschön!
Re: Problem beim Verschieben einer Kategorie
Verfasst: Fr 10. Apr 2026, 20:47
von bodil
Bug entdeckt.
Ticket angelegt. Der Baum war in Ordnung. Die Funktion, die das überprüfen sollte (strCheckTreeForErrors()), hat aber grundsätzlich einen Fehler gemeldet.
In bestehenden Systemen leicht zu beheben: Etwa in Zeile 1366 der Datei contenido/includes/functions.str.php steht die Zeile
Code: Alles auswählen
$cats->select("idclient = '" . cRegistry::getCategoryId() . "'");
Die bitte ersetzen durch
Code: Alles auswählen
$cats->select("idclient = '" . cRegistry::getClientId() . "'");
Schönes Wochenende!
bodil
Re: #625 - Problem beim Verschieben einer Kategorie
Verfasst: So 12. Apr 2026, 09:44
von Oldperl
Servus,
in bestätigte Fehler verschoben und Labels im Tracker gesetzt.
Gruß aus Franken
Ortwin