Hallo,
Ich werde versuchen, mein Problem so gut wie möglich zu erklären. Ich saß die letzten drei Stunden daran und bin jetzt endgültig am Verzweifeln. Jeder schubs in die richtige Richtung stößt auf Dankbarkeit!
Ich bastel momentan eine neue Navigation für die Firmenhomepage. Ich sollte mich darum kümmern, dass die Seiten dynamisch ihre Sprachen wechseln. Also zack, zwei Knöpfe rein, einmal deutsch, einmal englisch, damit man auf Klick der Knöpfe, zwar auf der Seite bleibt, aber die Sprache sich verändert. Das entsprechende Gegenstück zu jeder Seite ist jeweils im „en/“ oder „…/“ Verzeichnis zu finden. Und die Dateien heißen natürlich auch alle nicht gleich. Der dynamische Wechsel war dann unterm Strich sehr aufwendig. Dateien umbenennen ist nicht erlaubt oder alle Dateien durchzugehen um die Parallelseite zu vermerken, war mir zu ekelhaft. Darum habe ich mich für folgendes entschieden:
[CODE] <?php include ('nav_addon.php'); ?>
<a href=„<?php if($dir == "1") { echo '../';} echo $deu; ?>“>
<a href=„<?php if($dir == "0") { echo 'en/';} echo $eng; ?>“>[/CODE]
Auf gut deutsch: Schau, ob du im „en/“ Verzeichnis bsit und bastel dir dann deinen Link selbst zusammen. In der nav_addon.php definiere ich dann für ALLE Seiten die entsprechende Parallelseite. Hier ein beispiel des Dokuments, das mehrere Dutzend zeilen lang ist. Die gesamte nav_addon besteht aus der Wiederholung folgenden Skripts.
if (basename($_SERVER[ 'SCRIPT_FILENAME' ]) == "ergometer350f.php" OR basename($_SERVER[ 'SCRIPT_FILENAME' ]) == "Seite2.php")
{ $deu = "ergometer350f.php";
$eng = "Seite2.php";
$dir = is_dir( "../en/");}
Also, das ist der Stand von vor drei Stunden. Dieses Skript funktioniert auch weitestgehend einwandfrei. Meine navigation.php ist auf den meisten Seiten aktiv und da funktioniert sie auch. In einigen Seiten, jedoch nicht. So spontan ist ein Unterschied, dass die Seiten als charset ISO-8859-1 definiert haben (das hat auch Gründe, aber bitte fragt nicht… >.<). Bin mir aber nicht sicher, ob das das Problem ist, weil ich auch andere Seiten habe, die ebenfalls mit ISO arbeiten, und bei denen funktioniert die Navigation. In einigen wenigen Fällen, zerschießen aber diese paar Zeilen die komplette Seite und sprengen das Design.Dort wird dann die Navigation nicht mehr als sauberes drop-down menü dargestellt, sondern wird direkt als Liste in die gesamte Seite hinein ausgegeben.
Ich habe dann natürlich den Fehler gesucht und habe manche Zeilen auskommentiert um auf den kern der Sache zu kommen. Geendet hat das ganze in der Zeile des Links mit der deutschen Sprache. Und jetzt wird es absurd. Ich habe folgende beiden Zeilen als Sprachlink ausprobiert:
<a href="ergometer350f.php"><img src="./assets/images/ger.png" width="25" height="15" alt=""/></a>
<a href="ergometer350F.php"><img src="./assets/images/ger.png" width="25" height="15" alt=""/></a>
Wenn ich diese beiden Versionen benutze, bekomme ich unterschiedliche Ergebnisse. bei dem kleinen „f“ fliegt mir das Design um die Ohren. bei dem großen „F“ funktioniert das Skript einwandfrei. (Nur so lange bis ich wieder daraufklicke. Es scheint als hätte das System ein Problem damit, wenn Dateiname und Link gleich sind.)
Das ist mein Status Quo. Und ich bin am Verzweifeln. Bin bereits bei sämtlichen Kollegen aufmarschiert und habe mein zirkusreifes Kunststück mit dem großen oder kleinen „F“ vorgeführt. Encode und Decode hat nicht funktioniert. Und ich weiß nicht wo ich suchen soll. Ich benötige Hilfe!
EDIT: Kleiner Nachtrag. Ich sehe gerade, dass das Skript inzwischen auch das englische pardon zerschießt. Nicht so extrem wie auf der deutschen Seite, aber dennoch werden auf den kaputten englischen Seiten Zeilenumbrüche vor und nach den Links (die beiden flaggen) eingefügt.
Bei Fragen, bitte nachfragen.
Vielen lieben Gruß,
Donkey.
P.S.: War jetzt seit 10 Jahren oder so nicht mehr auf der Homepage hier. Ich bitte es zu entschuldigen, wenn Ich mir jetzt direkt einen Faux pas erlaubt habe.