Bug?: nur für einen Mandanten wird die cat_tree erstellt

Gesperrt
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Bug?: nur für einen Mandanten wird die cat_tree erstellt

Beitrag von OliverL »

Moin moin,

hab eine alte 4.6.23 auf 4.8.8 upgedatet.
Die Version hat
- 3 Mandanten
- je 2 Sprachen

erstelle ich eine neue Kategorie werden die Einträge in der con_cat_tree vollständig neu geschrieben.

Dabei wird bei mir aber nur für einen Mandanten die vollständige Struktur geschrieben.

Ich habe mich durch div. Funktionen gefummelt und bemert das:
Erst werden alle Einträge gelöscht ,
dann die Hauptpunkte ergänzt und
für die Submenüpunkte die Funktion strNextDeeperAll() in include/function.str.php aufgerufen.

in dieser Funktion werden die Submenü-Punkte nur für eine Sprache ermittelt:

Code: Alles auswählen

/* Check for language dependent part */
$sql = "SELECT idcatlang FROM ".$cfg["tab"]["cat_lang"]." WHERE idcat='".Contenido_Security::toInteger($midcat)."' AND idlang='".Contenido_Security::toInteger($lang)."'";
Meine Lösung für das Problem wäre:

Code: Alles auswählen

/* Check for language dependent part */
$sql = "SELECT idcatlang FROM ".$cfg["tab"]["cat_lang"]." WHERE idcat='".Contenido_Security::toInteger($midcat)."'";
Also einfach $lang zu entfernen.

Kann das jemand bestätigen?

mfg OliverL
Zuletzt geändert von OliverL am Fr 10. Okt 2008, 21:12, insgesamt 1-mal geändert.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

also wenn da steht "Check for language dependent part" würde ich dem gefühl nach sagen du liegst falsch...

da gibts auch ein $ignore_lang == true das nie funktionieren wird...

timo muss was dazu sagen...
*** make your own tools (wishlist :: thx)
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag von OliverL »

THX emergence. Du hast wie immer recht. Das habe ich beim durchwühlen der Funktionen am ende übersehen.

Prinzipiell müsste sich die $ignore_lang ganz durch alle Funktionen für die Erstellung der cat_tree-Tabelle ziehen.

-> Wobei ich es bevorzugen würde wenn das neu erstellen der cat_tree sich nur auf einen Mandanten beschränken würde. Wäre dann sicher eine Performance Verbesserung für den Content-Kategorie Bereich.

Was bedeutet das, schon bei der Funktion strRemakeTreeTable() darauf eingegangen werden muss. Werde mir die komplette Datei heute Abend noch mal anschauen und dann einen Vorschlag machen.

mfg OliverL

PS.: die erste Variante ist dann doch einbisschen zu "quick&dirty".
Zuletzt geändert von OliverL am Fr 10. Okt 2008, 21:10, insgesamt 1-mal geändert.
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag von OliverL »

Ähhhh...

Kannst du das Problem den Reproduzieren?
Ich hatte schon häufiger das Problem, das das Problem keins ist.

mfg OliverL
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

OliverL hat geschrieben:Kannst du das Problem den Reproduzieren?
natürlich nicht...
habe derzeit keine testumgebung mit 3 mandanten mit jeweils 2 sprachen...
*** make your own tools (wishlist :: thx)
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag von OliverL »

Bei Leeren der con_cat_tree werden jetzt nur noch die einträge eines Client entfernt so das später nur noch für einen Client ergänzt werden muss.

At revision: 864
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

ähm... das wird so nicht gehen... da fehlt ein sql query...
*** make your own tools (wishlist :: thx)
Gesperrt