Hallo zusammen,
ich habe contao 4.4 per composer auf einem Ubuntu Webserver installiert. Es soll als Grundlage für ein Firmen-Intranet dienen.
Das Setup soll dabei mehrsprachig sein (mit Sprachkürzel in der URL) und in der Navigation sollen zusätzlich eigene Links (zu firmeninternen Webseiten) hinterlegt werden. Dabei sollen den Usern aber nur relevante Links, anhand ihrer Active-Directory-Gruppen, angezeigt werden. Dazu habe ich im Apache die Base-Authentication mit LDAP eingerichtet und ein eigenes Template geschrieben, um die contao-Navigation entsprechend zu erweitern. Dies funktioniert soweit alles - mit einer Sprache.
Mit Hilfe der Erweiterung terminal42/contao-changelanguage habe ich die Seiten verknüpft, so dass beim Umschalten der Sprache, die entsprechende Seite in der gewählten Sprache angezeigt wird.
Aber aktuell bekomme ich in der Navigation alle sichtbaren Elemente aus allen Sprachen der Seitenstruktur angezeigt. Ich könnte die Seiten fest im Template einprogrammieren, aber das möchte ich eher vermeiden.
Aktuell frage ich die Datenbank mit folgendem Query ab:
PHP-Code:
$this->Database->prepare("SELECT `title`, `alias` FROM `tl_page` WHERE `published` = ? AND `sitemap` = ? AND `hide` <> ? AND `language` = ? ORDER BY sorting;")->execute(1, "map_default", 1, "", $GLOBALS['TL_LANGUAGE']);
Aber in der Spalte 'language' steht nur bei den root-Seiten das Sprachkürzel. Leider finde ich auch keine Beziehung zwischen den einzelnen Seiten und der jeweiligen root-Seite.
Man könnte das Kürzel bei den Unterseiten eintragen, aber wenn sich mal etwas an der Seitenstruktur ändert... denkt wieder niemand daran, dass der Wert per Hand eingetragen werden muss, damit die Seite dann auch angezeigt wird.
Oder gibt es einen eleganteren Weg eigene Links in die Navigation einzufügen - basierend auf Active-Directory-Gruppen?
Vielen Dank vorab.
Lesezeichen