Hallo zusammen,
ich schlage mich gerade mit einem Problem rum.
Ich habe eine Contenido-Installation (4.8.15) mit zwei Mandanten.
ID / Verzeichnisse:
1. cms
2. xyz
Die Mandanten 1 und 2 sind gegenseitig verlinkt.
Folgendes Problem taucht im Frontend auf:
Rufe ich einzeln Mandant 1 auf, klappt alles wunderbar.
Rufe ich einzeln Mandant 2 auf, klappt auch alles wunderbar.
Rufe ich zunächst Mandant 1 auf und wechsel dann zu Mandant 2 per Link (also gleiche Session im Browser) so führt Contenido intern immer noch die Session als Mandant 1. Sprich in den Variablen $client ist immer noch die "1" gesetzt. Das Problem dabei ist, dass die hrefbase nicht geändert wird und entsprechend Mandanten-Konfigurationen auch nicht korrekt geladen werden.
Ich habe einmal in der front_content.php die Variable $client hart auf 2 gesetzt. Damit wird glücklickerweise in den meisten Fällen die hrefbase korrekt gesetzt. Führe ich ein Login durch und nutzt man fälschlicherweise einen Frontenduser aus Mandant 1, wird die base wieder falsch mit mandant 1 gesetzt.
Für Mandant 1 benötige ich zwingend den hrefbase. Ich habe schon versucht diesen global zu deaktivieren (dann funktioniert es mit dem Login). Anschließend habe ich per Mandanteneinstellungen im Mandant 1 den base-Generator wieder hinzukonfiguriert. Dies hat den Effekt, dass beim wechsel von Mandant 1 auf Mandant 2 die Base-Generierung wieder übernommen und gar das $client=2 in der front_content.php für die Abfrage der Konfigurationen ignoriert wird (Base immer da und beim Login wieder falsch).
Hat hier jemand einen Tip, wo und wie ich was machen muss.
Danke,
Christian John
Mandantenwechsel im Frontend nicht erkannt
Mandantenwechsel im Frontend nicht erkannt
--------------------------------------------
Christian John aus Korschenbroich bei Düsseldorf (https://www.john-softwareentwicklung.de)
Selbständiger Web-Entwickler
“There are 10 types of people in the world… those that understand binary and those that don’t.”
Christian John aus Korschenbroich bei Düsseldorf (https://www.john-softwareentwicklung.de)
Selbständiger Web-Entwickler
“There are 10 types of people in the world… those that understand binary and those that don’t.”
Re: Mandantenwechsel im Frontend nicht erkannt
Hallo chris8408,
du kannst folgendes Probieren:
Der Grund ist folgendes. Die Id des Mandanten wird in der Session gespeichert, wenn du vom "cms" (z. B. id = 1) zum anderen Mandanten "xyz" (z. B. id = 2) wechselst, wird die Id des zuerst gespeicherten Mandanten verwendet, nicht die des neuen Mandanten.
Bei einem Mehrmandantensystem mit einem Mandanteverzeichnis muss man beim Wechsel des Mandanten die Id des Mandanten an die URL anhängen.
In deinem Fall (Mehrmandantensystem mit eigenen Mandantenverzeichnissen) sollte das idealerweise automatisch funktionieren.
Der Vorschlag hier sollte dein Problem lösen, bessr ist es, wenn das einem von CONTENIDO abgenommen wird.
Gruß
xmurrix
du kannst folgendes Probieren:
- Erstelle jeweils eine Konfígurations-Datei in den Mandantenverzeichnissen, z. B. "cms/config.local.php" und "xyz/config.local.php"
- Überschreibe den Mandanten, also die Globale Variable $client mit $load_client
Code: Alles auswählen
<?php // code der config.local.php global $client, $load_client; $client = (int) $load_client; // $load_client ist im mandantenverzeichnis in der config.php definiert
Der Grund ist folgendes. Die Id des Mandanten wird in der Session gespeichert, wenn du vom "cms" (z. B. id = 1) zum anderen Mandanten "xyz" (z. B. id = 2) wechselst, wird die Id des zuerst gespeicherten Mandanten verwendet, nicht die des neuen Mandanten.
Bei einem Mehrmandantensystem mit einem Mandanteverzeichnis muss man beim Wechsel des Mandanten die Id des Mandanten an die URL anhängen.
In deinem Fall (Mehrmandantensystem mit eigenen Mandantenverzeichnissen) sollte das idealerweise automatisch funktionieren.
Der Vorschlag hier sollte dein Problem lösen, bessr ist es, wenn das einem von CONTENIDO abgenommen wird.
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Re: Mandantenwechsel im Frontend nicht erkannt
Hallo xmurrix,
wow. Das habe ich echt noch eine Lücke bei mir entdeckt. Das funktioniert auf Anhieb!
Vielen, vielen Dank.
Chris
wow. Das habe ich echt noch eine Lücke bei mir entdeckt. Das funktioniert auf Anhieb!
Vielen, vielen Dank.
Chris
--------------------------------------------
Christian John aus Korschenbroich bei Düsseldorf (https://www.john-softwareentwicklung.de)
Selbständiger Web-Entwickler
“There are 10 types of people in the world… those that understand binary and those that don’t.”
Christian John aus Korschenbroich bei Düsseldorf (https://www.john-softwareentwicklung.de)
Selbständiger Web-Entwickler
“There are 10 types of people in the world… those that understand binary and those that don’t.”
Re: Mandantenwechsel im Frontend nicht erkannt
Hallo, habe das gleiche Problem mit der 4.6.24 Version.
Scheint aber nicht zu funktionieren mit der Lösung eine congig Datei in jedes Mandantenverzeichnis zu kopieren.
Hat jemand eine Idee?
Danke
.axel
Scheint aber nicht zu funktionieren mit der Lösung eine congig Datei in jedes Mandantenverzeichnis zu kopieren.
Hat jemand eine Idee?
Danke
.axel