Hallo achiboy,
der Wechsel zwischen mehreren Mandanten innerhalb der gleichen Domain sollte immer mit dem Parameter "changeclient" stattfinden, also mit
Code: Alles auswählen
http://localhost/mycontenido/mandant2/front_content.php?changeclient={idclient}
// z. B.
http://localhost/mycontenido/mandant2/front_content.php?changeclient=2
Das ist deshalb nötig, da die ID des aktuellen Mandanten, sowie die aktuelle Sprache in der Session gespeichert werden. Diese Werte werden nicht automatisch aktualisiert, wenn man zwischen Mandanten wechselt, da braucht man immer Query-Parameter changeclient und/oder changelang in der URL, auch nur einmalig, da dann die neuen Werte in die Session übernommen werden.
Du kannst aber für jeden Mandanten eine Datei "config.local.php" im Mandantenverzeichnis, also unter "{mandantenordner}/data/config/production/" anlegen, in der die Id des Mandanten vorgegeben ist und bei Bedarf gesetzt wird. Dann brauchst du nicht den Query-Parameter beim Wechsel zwischen Mandanten übergeben.
z. B.
Code: Alles auswählen
<?php
global $changeclient, $client;
// Id des Mandanten
$thisClient = {idclient};
if (isset($client) && $client !== $thisClient) {
// Variable $client existiert, ist aber nicht die des aktuellen Mandanten...
$client = $thisClient;
$changeclient = $client;
} elseif (!isset($client)) {
// Variable $client existiert nicht, ist ein initialer Aufruf der Seite...
$client = $thisClient;
}
Dann sollte immer diese Id verwendet werden. Für die Sprache braucht man das nicht machen. Zum einen wird die Sprache beim Setzen der Variable $changeclient oder auch bei Aufruf der Seite mit dem Query-Parameter changeclient={idclient} neu gesetzt und zum anderen kann ein Mandant mehrere Sprachen haben...
Eine andere Alternative wäre das Verwenden des Advanced Mod Rewrite Plugins, da kann man den Namen des Mandanten an die generierten URLs voranstellen und dieser Name wird dann zum Ermitteln der Id des Mandanten hergenommen.
Gruß
xmurrix