Hallo liebe PragmaMx-Gemeinde,
oben beschriebenes Problem habe ich wie folgt gelöst:
Die Navi habe ich dabei direkt in die Datei theme.html integriert und die Logik der Navigation (d.h. die Javascript-Datei) wird über den body geladen. Zu modifizieren sind die beiden Dateien:
beide jeweils im Ordner des Themes zu finden.
In der Datei theme.html muss man einen Platzhalter an der entsprechenden Position für die Navi einfügen. In meinem Fall habe ich die komplette Navigation gegen {Navi} ausgetauscht. Solcher Platzhalter sind allen, die bereits eigene Themes fabriziert haben wohl bekannt. In der Datei functions.php werden die Platzhalter allesamt ersetzt durch das Ergebnis (d.h. den return) eines Funktionsaufrufes.
Entsprechend habe ich in der functions.php eine weitere Zeile (die letzte) eingefügt:
function theme_define_placeholders()
{
$part[] = array("{VIEWBENCH}", mxViewBench());
$part[] = array("{FOOTMESSAGE}", footmsg(1, 0));
$part[] = array("{CURRENTPATH}", mx_theme_currentpath());
$part[] = array("{SEARCHFORM}", mx_theme_searchform());
$part[] = array("{LOGINFORM}", mx_theme_loginform());
$part[] = array("{SHOWDATE}", mx_show_date());
$part[] = array("{SHOWTIME}", mx_show_time());
$part[] = array("{SHOWTOTALUSER}", mx_total_user_online());
$part[] = array("{NAVI}", mx_Navi());
....
}
Für die übrigen Platzhalter, wie z.B. {CURRENTPATH} sind die dazu korrespondierenden Funktionen bereits definiert. Entsprechend muss man also noch
function mx_Navi()
{
$lang = $_COOKIE['lang'];
if ($lang == "german"){
$navi = ...
}
else{
$navi = ...
}
return $navi;
In der ersten Zeile des Funktionsrumpfes weist man die zur Zeit gewählte Sprache der Variablen $lang zu. Dadurch ist es möglich je nach gewählter Sprache eine differente Navi zu laden.
LG
Alex