Verschiedene Logos 4 Sprachen

Bei Problemen/Anregungen mehrsprachiger Webseiten.

Beitragvon Thomas.Blum » 16. Jan 2006, 22:16

hej,

index.php?article_id=13&clang=$REX['CUR_CLANG']

thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon robert » 17. Okt 2006, 16:17

Hallo,

ich möchte das Script einsetzen um eine Flagge zur Anzeige der angezeigten Sprache anzuzeigen.

das funktioniert:
Code: Alles auswählen
<!--Setzen der Sprachenflagge-->
                 <div id="langflag">
                 <? echo '<img src="/cms/files/0_flag.gif">' ?>
                 </div>


wenn ich nun, den Vorschlag von Sven aufgreife:
Code: Alles auswählen
<!--Setzen der Sprachenflagge-->
                 <div id="langflag">
                 <? echo '<img src="/cms/files/'.$clang.'_flag.gif">' ?>
                 </div>

wird die Grafik nicht angezeigt!

Die Grafiken:
0_flag.gif (für deutsches Flaggensymbol)
1_flag.gif (für englisches Flaggensymbol)

Was mache ich falsch? Mit meinem try and error komme ich mal wieder nicht weiter!

MfG
Robert
Benutzeravatar
robert
 
Beiträge: 96
Registriert: 19. Sep 2005, 10:25

Beitragvon raybeam » 17. Okt 2006, 21:19

Hallo Robert,

versuchs anstatt mit $clang mit

Code: Alles auswählen
<? echo '<img src="/cms/files/'.$REX['CUR_CLANG'].'_flag.gif">'



Gruß

Peter
Benutzeravatar
raybeam
 
Beiträge: 445
Registriert: 5. Feb 2006, 20:30

Bekomme keine Fehlermeldung, sondern leere Seite

Beitragvon mina30de » 9. Aug 2007, 00:06

Hallo Redaxo-Team,

nach langer Fehlersuche bin nun hier gelandet.

Mein Problem, die Webseite soll in 3 Sprachen via (Länderflagge) ausgewählt werden.

Via Link funktiert`s.

Wenn ich aber anstelle des Links ein Image einfügen will, bekommen ich noch nicht mal eine Fehlermeldung, sondern nur eine leere Seite angezeigt.

Wo liegt der Fehler?

Code: Alles auswählen

<div id="lang">
<?
if ($REX['CUR_CLANG'] == 0) {
echo " <img src="files/0_flag.gif'.$REX['CUR_CLANG'].'0_flag.gif">

| <a href=".rex_getUrl($this->getValue("article_id"),"1").">
<img src="files/1_flag.gif'.$REX['CUR_CLANG'].'1_flag.gif">
</a>
| <a href=".rex_getUrl($this->getValue("article_id"),"2").">
<img src="files/2_flag.gif'.$REX['CUR_CLANG'].'2_flag.gif">
</a>";
}
......



habs auch via html probiert <img src="files/0_flag.gif" width="25" height="15" border="0" alt="">

wenn doch wenigstens eine Fehlermeldung käme, aber eine leere Seite ist nicht gerade ausagekräftig.


:(
mina30de
 
Beiträge: 152
Registriert: 19. Mär 2007, 10:43

Beitragvon Thomas.Blum » 9. Aug 2007, 06:05

Hej,

bist du dir sicher das die Bilder so richtig sind?

Code: Alles auswählen
<img src="files/0_flag.gif'.$REX['CUR_CLANG'].'0_flag.gif">


Hier würde ald Dateiname "0_flag.gif00_flag.gif" herauskommen.

Richtig wäre:
Code: Alles auswählen
<img src="files/'.$REX['CUR_CLANG'].'_flag.gif" />


vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon n.ruediger » 9. Aug 2007, 11:09

Hallo,

schon mal was von PHP-Fehlern gehört ;-)


Code: Alles auswählen
<div id="lang">
<?
if ($REX['CUR_CLANG'] == 0) {
echo [b]"[/b] <img src=[b]"[/b]files/0_flag.gif'.$REX['CUR_CLANG'].'0_flag.gif[b]"[/b]>...
}


mach mal daraus:

Code: Alles auswählen
<div id="lang">
<?
if ($REX['CUR_CLANG'] == 0) {
echo ' <img src="files/0_flag.gif'.$REX['CUR_CLANG'].'0_flag.gif">

| <a href="'.rex_getUrl($this->getValue("article_id"),"1").'">
<img src="files/1_flag.gif'.$REX['CUR_CLANG'].'1_flag.gif">
</a>
| <a href="'.rex_getUrl($this->getValue("article_id"),"2").'">
<img src="files/2_flag.gif'.$REX['CUR_CLANG'].'2_flag.gif">
</a>';
}


Liebe Grüße,
Nicole
Benutzeravatar
n.ruediger
 
Beiträge: 418
Registriert: 21. Mär 2007, 11:25
Wohnort: Frankfurt (Oder)

Beitragvon Thomas.Blum » 9. Aug 2007, 11:25

Hej Nicole,

du hast dennoch denselben Datenamen Fehler drin.

vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon n.ruediger » 9. Aug 2007, 11:30

Vielleicht muss das ja so sein ;-)

Ja, du hast Recht, ich war zu faul das auch noch zu ändern... Mir war es grade wichtiger auf den Fehler mit den ' und " hinzzuweisen.

Liebe Grüße,
Nicole
Benutzeravatar
n.ruediger
 
Beiträge: 418
Registriert: 21. Mär 2007, 11:25
Wohnort: Frankfurt (Oder)

Beitragvon mina30de » 9. Aug 2007, 23:25

Hallo Nicole & Thomas,

@Thomas

bist du dir sicher das die Bilder so richtig sind?


Nein bin ich nicht. Übrigens heissen meine Dateinamen eigentlich
flag_de.gif
flag_eng.gif
flag_es.gif

habs auch nur geändert zu 0_flag.gif etc. weil es hier im Thread so vorgeschlagen wurde. Hab keine Ahnung, ob hier ein Schleife durchlaufen wird oder warum die Bilder 0_, 1_ usw. benannt wurden.
Meine Dateien bekommen eigentlich nur bezeichnende Namen.

@Nicole
Vielleicht wärst Du so lieb und könntest mir das mal übersetzen.
Code: Alles auswählen
if ($REX['CUR_CLANG'] == 0) {
echo [b]"[/b] <img src=[b]"[/b]files/0_flag.gif'.$REX['CUR_CLANG'].'0_flag.gif[b]"[/b]>


Wenn ................zeig Bild (flag.gif)an oder so ähnlich, denn

es freut mich, dass Ihr wenigstens wißt wovon Ihr redet.

n.ruediger hat geschrieben:Hallo,

schon mal was von PHP-Fehlern gehört ;-)

War ich damit gemeint? Falls ja:
Ich habe schon einmal was von PHP gehört. Gewiss kann man da auch viele Fehler machen.
Und wenn man so wie ich, überhaupt kein PHP versteht (ich kann leider noch nicht mal den Quellcode nachvollziehen), dann macht man wahrscheinlich nur Fehler.
Ich bemüh mich aber, und will mir PHP beibringen (was leider gar nicht so einfach ist!!!)

Thomas
du hast dennoch denselben Datenamen Fehler drin


Nicole
war zu faul das auch noch zu ändern... Mir war es grade wichtiger auf den Fehler mit den ' und " hinzzuweisen.


Sorry, dass ich da nicht mehr mithalten kann.
Darf ich deshalb noch einmal nachfragen,
wie der Richtige & Fehlerfreie Code für das Anzeigen der Länderflaggen lautet?

Liebe Grüße von Mina
die langsam am Verzweifeln ist ;-((

PS. Habe via copy & paste Euren Quellcode probiert, leider ohne Erfolg.

Und warum zum Kuckuck, kann ich dass nicht via HTML (im Template) ausgeben?
Und warum zum Kuckuck, bekomme ich keine Fehlermeldung, wenns doch ein Fehler ist?
mina30de
 
Beiträge: 152
Registriert: 19. Mär 2007, 10:43

Beitragvon n.ruediger » 10. Aug 2007, 07:48

Hallo,

also, beginnen wir mal mit dem richtigen COde, der funktionieren sollte:

Code: Alles auswählen
<div id="lang">   
<?php       
  echo ($REX['CUR_CLANG'] == 0) ? '<img src="files/'.$REX['CUR_CLANG'].'_flag.gif">' : '<a href="'.rex_getUrl($this->getValue("article_id"),"0").'"><img src="files/'.$REX['CUR_CLANG'].'_flag.gif"></a>';
  echo ($REX['CUR_CLANG'] == 1) ? ' | <img src="files/'.$REX['CUR_CLANG'].'_flag.gif">' : ' | <a href="'.rex_getUrl($this->getValue("article_id"),"1").'"><img src="files/'.$REX['CUR_CLANG'].'_flag.gif"></a>';
  echo ($REX['CUR_CLANG'] == 2) ? ' | <img src="files/'.$REX['CUR_CLANG'].'_flag.gif">' : ' | <a href="'.rex_getUrl($this->getValue("article_id"),"2").'"><img src="files/'.$REX['CUR_CLANG'].'_flag.gif"></a>';
?>
</div>


Zur Erklärung:
1. Zeile: öffnendes HTML-Div
2. Zeile: php-Befehle einleiten
3. Zeile: Es wird abgefragt, ob die aktuelle Sprach gleich der ersten Sprache (wahrscheinlich bei dir deutsch) ist. Ist diese Abfrage wahr, dann wird nur die Fahne angezeigt, ansonsten wird auch ein Link um die Fahne gesetzt, um zu dieser Sprache wechseln zu können
4. Zeile: Siehe Zeile 3, allerdings für die zweite Sprache (wahrscheinlich englisch bei dir)
5. Zeile: Siehe Zeile 3, allerdings für die dritte Sprache (wahrscheinlich Spanisch bei dir)
6. Zeile: php-Befehle abschließen
7. Ziele: schließendes HTML-Div

Ergänzungen:

Wenn du deine Dateinamen behalten möchtest, kannst du auch diesen Code hier verwenden, dabei gehe ich von der oben genannten Reihenfolge der Sprachen aus, wenn dies nicht stimmen sollte, dann melde dich noch mal:

Code: Alles auswählen
<div id="lang">   
<?php       
  echo ($REX['CUR_CLANG'] == 0) ? '<img src="files/flag_de.gif">' : '<a href="'.rex_getUrl($this->getValue("article_id"),"0").'"><img src="files/flag_de.gif"></a>';
  echo ($REX['CUR_CLANG'] == 1) ? ' | <img src="files/flag_eng.gif">' : ' | <a href="'.rex_getUrl($this->getValue("article_id"),"1").'"><img src="files/flag_eng.gif"></a>';
  echo ($REX['CUR_CLANG'] == 2) ? ' | <img src="files/flag_es.gif">' : ' | <a href="'.rex_getUrl($this->getValue("article_id"),"2").'"><img src="files/flag_es.gif"></a>';
?>
</div>


Erklärung ist die gleiche, wie oben. Jediglich die Dateinamen wurden angepasst.

Das mit den PHP-Fehlern war schon an dich gerichtet, allerdings wusste ich nicht, dass du mit php nicht so viel Erfahrung hast. Das Problem war, dass du deine Zeichenkette mit doppelten Anführungszeichen (") umschlossen hattest, was aber nicht möglich ist, wenn man innerhalb der Zeichenkette selbst diese benutzen will (was ja bei den Bildertags der Fall war).

Die Fehlermeldungen werden nicht angezeigt, da diese im Standardtemplate mit dem Befehl "error_reporting(E_ALL ^ E_NOTICE); // Notices ausschalten" ausgeschaltet werden. ;-)

Liebe Grüße,
Nicole
Benutzeravatar
n.ruediger
 
Beiträge: 418
Registriert: 21. Mär 2007, 11:25
Wohnort: Frankfurt (Oder)

Beitragvon mina30de » 10. Aug 2007, 23:38

Hallo Nicole,

ein dickes fettes Dankeschön an Dich.

Super erklärt!! Langsam geht mir ein Licht auf! :P

Der Code funktioniert super (auch mit meinen Dateinamen. !)
und er wird sicher noch vielen anderen hier eine gute Hilfe sein.
:D

Liebe Grüße von Mina
mina30de
 
Beiträge: 152
Registriert: 19. Mär 2007, 10:43

Vorherige

Zurück zu Mehrsprachigkeit [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast