Ich hatte so ein ähnliches Problem und habe es so gelöst bekommen (Contao 4.9)
Die Ausgangssituation:
HTML-Code:
+-+ Startpunkt einer Website
|
+- Start
| |
| +- öffentlich ...
|
+- Seitenstruktur für andere Zielgruppe
|
+- öffentliche Seiten
|
+- Login (Weiterleitung zum Mitgliederbereich)
|
+- Mitgliederbereich (geschützt nur für Mitglieder)
|
+--geschützte Seiten (hier als Navigation auch das neue Login-Modul mit der Info "Du bist angemeldet als... & Logout-Button"
|
+- Bestätigungsseite nach dem Logout
In dem Mitgliederbereich ist das Modul "Login-Formular" eingebunden, bei dem als Weiterleitungsseite "Bestätigungsseite nach dem Logout" ausgewählt ist. Mit Klick auf den Logout-Button gelangt man jedoch zur Seite "Start" (und nicht zu der ausgewählten Weiterleitungsseite).
Meine Lösung:
Ein neues Template mod_login_logoutlink.html5, das in dem Login-Formular im geschützten Bereich eingebunden ist.
mod_login_logoutlink.html5
HTML-Code:
<?php
// Den Logout-Link korrekt erzeugen
$pageObj = \Database::getInstance()->prepare("SELECT * FROM tl_page WHERE id = ?")
->limit(1)
->execute($this->jumpTo);
$pageArr = $pageObj->fetchAssoc();
// Create full Link
$link = Environment::get('base').$pageArr['alias'].$GLOBALS['TL_CONFIG']['urlSuffix'];
?>
...
<input type="hidden" name="_target_path" value="<?= $link ?>">
...
Damit wird dann der Weiterleitungslink ($this->jumpTo) als Link für den Logout-Button genommen.