Mehrere Kategorien in 0 haben die gleiche post-id...

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von mattmarr »

Hallo!

Ich benötige mal dringend Hilfe.

Bekomme seit dem Update von 4.8.20 auf 4.9.9 folgende Fehlermeldung bei den Kategorien und kann deshalb keine neuen erstellen. :shock:
Mehrere Kategorien in 0 haben die gleiche post-id (0 wurde zum zweiten Mal bei 1390 gefunden). Sortieren ist unmöglich und nicht alle Kategorien werden angezeigt.

Vorsicht! Weiteres Bearbeiten des Kategoriebaumes könnte zu größeren Fehlern führen. Bitte beheben Sie die Probleme bevor Sie fortfahren.
Hab schon in der Datenbank geschaut, bin da aber noch nicht ganz durchgestiegen.

Kann ich das Problem irgendwie händisch korrigieren?

Bei dem Contenido handelt es sich um eine Installation mit etwa 20 Mandanten. Der oben beschriebene Fehler tritt nur bei einem Mandanten auf.


Gruß
Matthias
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von Oldperl »

Moin Matthias,

da ist/war wohl der Kategoriebaum schon vor dem Upgrade kaputt. Hört sich an wie der Bug mit den Ghostkategorien, bei dem bei der Bearbeitung von Kategorien "Karteileichen" in den Tabellen bleiben. Ja, das kann man händisch beheben, aber das ist ziemlich aufwendig, gerade bei 20 Mandanten. Du kannst versuchen Dir den Kategoriebaum in der con_cat_tree anzuschauen, dort stimmt dann die eine oder andere Beziehung nicht. Dann die entsprechenden Anpassungen in con_cat und con_cat_lang machen und den Baum in con_cat_tree wieder generieren.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Faar
Beiträge: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 15 Mal
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von Faar »

Das ist heikel.
Vermutlich stammt diese Installation noch aus Zeiten von 4.8.12 oder davor.

Es handelt sich um die DB-Tabelle con_cat.
Was "Mehrere Kategorien in 0" bedeuten soll, kann ich nur vermuten: parentid
Damit ist dann die Root gemeint, mit der 0.
Der erste Baum in der Root hätte dann die id = 1
Wenn die postid = 0 wäre, dann würde hinter dieser einen Kategorie keine weitere folgen, weil ja die Root die nachfolgende "Kategorie" wäre, also das Nirwana.

Wenn es aber mehrere Kategoriebäume gibt, dann haben mehrere Kategorien eine 0 als parentid aber nur eine hat eine 0 als postid, nämlich die letzte.
Und die Letzte dürfte diejenige sein, die als parentid eine 0 hat und als preid die höchste Nummer.
Denn die preid ist in diesem Fall die ID eines Kategoriebaumes (bei parentid=0).

Also geh in die Datenbank, sortier nach parentid = 0 und schau, welche preid dort die höchste Nummer hat.
Diese sollte mit postid=0 richtig sein, alle anderen nicht, falls hier auch eine 0 auftaucht.

Nun taucht die Frage auf, was hat das mit der idclient zu tun?
Hier bin ich etwas unsicher, weil mir ein Beispiel fehlt,
aber, in einem Mandanten, also z.B. idclient = 1, darf es nur eine postid = 0 geben, bei dem zugleich parentid = 0 ist.

Code: Alles auswählen

SELECT * FROM `con_cat` WHERE `parentid`='0' AND `postid`='0' 
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
homtata
Beiträge: 1145
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von homtata »

Ich hatte den Fehler vor Urzeiten mal in einer 4.8.15-Installation nach einem Update.
Ich habe dann erstmal händisch im Mandanten untereinanderalle idcat aufgeschrieben, so dass ich die Verzeichnisstruktur des Mandanten korrekt nach ihren idcat-Nummern sehen konnte.
Dann habe ich in der Datenbank alle Tabelleneinträge in con_cat zu dem Mandanten herausgefiltert und dann Eintrag für Eintrag kontrolliert, ob das so Sinn ergibt oder wo der Fehler liegt (zuvor aber UNBEDINGT die Tabelle sichern!!!!). Es wird dort mindestens einen Eintrag geben, der irgendwie nicht in die Reihe passt, und dann musst du entscheiden, ob du den Eintrag wieder in den Baum hängst oder umhängst oder was auch immer!
mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von mattmarr »

Hi!

Danke für die vielen Tipps.
Werde mich gleich mal in die weiten der Datenbank begeben und ein paar IDs kontrollieren und eventuell korrigieren.
Faar
Beiträge: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 15 Mal
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von Faar »

Ich habe die Abfrage noch etwas eingeschränkt, das macht es bei den vielen Mandanten etwas einfacher:

Code: Alles auswählen

SELECT * FROM `con_cat` WHERE `parentid`='0' AND `postid`='0' AND `idclient`='1' 
Und dann halt idclient=x mit jeder Mandanten-ID durchgehen.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von mattmarr »

Hallo Faar!
Faar hat geschrieben:...Und dann halt idclient=x mit jeder Mandanten-ID durchgehen.
Mal eben durchgehen ist gar nicht so einfach wenn es einige Kategorien inkl unterkategorien gibt. Das reinste Zahlenpuzzzle. :)
mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von mattmarr »

Hi!

noch ne kurze Frage:

worauf bezieht sich in der Tabelle "con_cat" die Spalte "postid"?
Ich finde irgendwie keinen Hinweis was es für eine ID dort ist.


Gruß
Matthias
Faar
Beiträge: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 15 Mal
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von Faar »

mattmarr hat geschrieben:Hallo Faar!
Faar hat geschrieben:...Und dann halt idclient=x mit jeder Mandanten-ID durchgehen.
Mal eben durchgehen ist gar nicht so einfach wenn es einige Kategorien inkl unterkategorien gibt. Das reinste Zahlenpuzzzle. :)
Moin,
darum solltest Du meine SQL Anweisung nehmen und in phpmyadmin eingeben und schauen, was dabei raus kommt.

Code: Alles auswählen

SELECT * FROM `con_cat` WHERE `parentid`='0' AND `postid`='0' AND `idclient`='1'
Und um die Unterkategorien geht es gar nicht, weil nur ein Kategoriebaum eine 0 als parentid haben kann.
Meine SQL holt dir die Bäume heraus und nur für jeweils einen Mandanten.
Die komplette Tabelle bei 20 Mandanten muss ja unübersichtlich aussehen, darum musst du dir mit SQL eine Übersicht schaffen.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Faar
Beiträge: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 15 Mal
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von Faar »

mattmarr hat geschrieben:Hi!

noch ne kurze Frage:

worauf bezieht sich in der Tabelle "con_cat" die Spalte "postid"?
Ich finde irgendwie keinen Hinweis was es für eine ID dort ist.


Gruß
Matthias
Das ist nur zur Reihenfolge, die postid ist die nachfolgende ID der Kategorie (idcat) um die es geht.
Wenn du mehrere Kategoriebäume in einem Mandanten hast (z.B. Hauptmenü, Metamenü, System), dann hat jeder Kategoriebaum einen nachfolgenden Kategoriebaum, bis auf den letzten, der hat dann die Root (0) als Nachfolger mit der postid=0.
Und genau darum meckert bei dir Contenido an, dass die Reihenfolge nicht bestimmt werden könne, weil es mehrere postid=0 in einem Mandanten gibt.
Dabei könnte man das Programmtechnisch sicher lösen, wenn man davon ausgeht, dass meistens die Kategorie mit der höchsten idcat Zahl diejenige ist, die postid=0 haben sollte. Alle anderen meistens nicht.
Es sei denn, man verschiebt Kategoriebäume.

Gruss,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
homtata
Beiträge: 1145
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von homtata »

Die postid besagt, welche Kategorie AUF DER GLEICHEN NAVIGATIONSEBENE nach der aktuellen Kategorie folgt.
Im Demomandant sind auf einer Ebene: Hauptnavigation (1), Kopfnavigation (39), Servicenavigation (4).
Daher ist die postid zu 1 => 39 und zu 39 => 4.
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von Oldperl »

Hallo Matthias,
mattmarr hat geschrieben:worauf bezieht sich in der Tabelle "con_cat" die Spalte "postid"?
:arrow: http://forum.contenido.org/viewtopic.ph ... 25#p102325

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von mattmarr »

Hi!

Danke für die Infos.
Jetzt hab ich ein Karussel im Kopf und muss warten bis es still steht um das alles zu verdauen. :)



Gruß
Matthias
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von Oldperl »

mattmarr hat geschrieben:Jetzt hab ich ein Karussel im Kopf und muss warten bis es still steht...
Nix, alles mitnehmen! :mrgreen:
Bei den Ticketpreisen heutzutage auf den Märkten ist so ein eigenes Karussell doch auch mal ganz angenehm. :lol:

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Faar
Beiträge: 1951
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Hat sich bedankt: 15 Mal
Kontaktdaten:

Re: Mehrere Kategorien in 0 haben die gleiche post-id...

Beitrag von Faar »

homtata hat geschrieben:Die postid besagt, welche Kategorie AUF DER GLEICHEN NAVIGATIONSEBENE nach der aktuellen Kategorie folgt.
Im Demomandant sind auf einer Ebene: Hauptnavigation (1), Kopfnavigation (39), Servicenavigation (4).
Daher ist die postid zu 1 => 39 und zu 39 => 4.
Ja, stimmt, und diese Ebenen sind Kategoriebäume (Stichwort "Baum" bei der Kategorieerstellung). :)
Und wenn Deine Reihenfolge stimmt, dann wäre postid zu 4 => 0.
Da hat wohl jemand nachträglich eine Kopfnavigation eingebaut und eins in der Reihenfolge nach oben geschoben.

Also @Mathias, alles ganz überschaubar :mrgreen:

Gruss aus dem Regen,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Antworten