multiple languages and redirection

Get help with installation and running phpwcms here. Please do not post bug reports or feature requests here.
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Hi Carino,

habe die Lösung wieder gefunden und auf meiner Hoepage freigeschaltet.

In der Fußzeile kann man nun eine Umschaltaktion simulieren.
Da ich nur deutschsprachige Seiten anbiete, schaltest du hier nur zwischen der Homepage und der Sitemap um... und von da wieder zurück!

Das ist aber nicht Hardcodet in der Vorlage, sondern über das php-Script gelöst.

In der Vorlage steht lediglich der folgende Aufruf:

Code: Select all

[ID {PHP:scripts/switch_language.php}] D < switch > GB [/ID]
Bei Interesse, bitte melden. Schiebe dann das php-Script nach!
User avatar
StudioZ
Posts: 802
Joined: Fri 28. May 2004, 19:57
Location: Québec, Canada
Contact:

Post by StudioZ »

Language barrier :cry:
Feels like I am missing something important here... :roll:
Image
PhpWCMS Evangelist, -- iRoutier.com Running phpWCMS 1.4.2, r354 -> Great Version!!!!
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Hi Carino,

hier die Zusammenfassung meines workarounds für die Realisierung der Länderumschaltung (page to page).


1. In der Vorlage steht lediglich ein Aufruf des php-Scripts in der Form:

Code: Select all

[ID {PHP:scripts/switch_language.php}] D < switch > GB [/ID] 
2. Und hier ist das Schema des php-Scripts, mit dem die Vergleichstabelle abgefragt werden kann:
(Im Beispiel ist das Script mit dem Namen switch_language.php im Verzeichnis sripts abgespeichert!)

Code: Select all

<?php

//* Hier wird die Ketegorie-ID der aktiven Seite abgefragt ( 1. Zahl )
//* und die Artikel-ID der Ziel-Seite zurückgegeben        ( 2. Zahl )
//*
//* Zeilen-Aufbau:
//* case xx: echo 'yy'; break;
//* 
//* xx = Kategorie-ID  der Original-Seite
//* yy = Artikel-ID    der Ziel-Seite
//* 
//* In der default Zeile steht die Artikel-ID des Sprungziels 
//* für alle nicht definierten Seiten
//* 
//* Für die Abfrage, zu welcher Seite gesprungen werden soll
//* ist der folgende Code in die phpWCMS-Vorlage einzubinden
//*
//* [ID {PHP:scripts/switch_language.php}] Text oder Image [/ID] 


switch($GLOBALS['content']['cat_id']) {

case    0: echo '6'; break; // Homepage
case    8: echo '1'; break;

default: echo '1';

}
?>

Die mit dem Begriff case beginnenden Zeilen organisieren jetzt deine Vergleiche von Deutsch zu Englisch und zurück.
Diese Zeilen müssen natürlich deinen Gegebenheite entsprechend angepasst und um zusätzliche "Vergleiche" erweitert werden :!:

:!: ACHTUNG: Unbedingt daran denken, in jeder der Vergleichszeilen gilt:

1. Zahl =Kategorie-ID
2. Zahl =Artikel-ID

Das hört sich etwas verwirrend an... aber ist schnell gemacht. Und kommt ohne Aufbohren von Programmcode aus :!:

Codefreaks dreht sich jetzt sicher der Magen um :shock: ... aber wo ist denn eure Lösung :wink:

Viel Spass beim Testen
User avatar
StudioZ
Posts: 802
Joined: Fri 28. May 2004, 19:57
Location: Québec, Canada
Contact:

Post by StudioZ »

My german -- as you will notice :wink: -- is very very very limited:
Have a beer a better ?

:wink: :) :D
Image
PhpWCMS Evangelist, -- iRoutier.com Running phpWCMS 1.4.2, r354 -> Great Version!!!!
Carino
Posts: 98
Joined: Sat 25. Sep 2004, 13:27
Location: NRW - Oberbergisches Land
Contact:

Post by Carino »

Hallo pepe,

danke für das Script. habe nur noch eine Frage (vom Code soweit kapiert):

[ID {PHP:scripts/switch_language.php}] switch [/ID]
geht irgendwie nicht. Es wurde nicht aufgelöst:

[ID 1 ] switch [/ID] kommt dabei raus. Das heisst. Script wurde gefunden (habe noch nix angepast), aber die ID wird nicht aufgelöst. Nach der 1 ist ein Leerzeichen, was scheinbar das Problem darstellt. Aber wie das Leerzeichen zustande kommt ist mir schier ein Rätsel :(
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Hi carino,

ok ich denke daß lag daran, daß das Script so nicht gefunden werden kann. Wollte mein Pfad nicht verraten und habe den EIntrag nachträglich verändert.
Versuch's doch mal so... Bin mir nicht so ganz sicher... und sag dann bitte bescheid.

Code: Select all

[ID {PHP:scripts/switch_language.php}] D < switch > GB [/ID]
EDIT:
Nein, daß war doch so richtig! Habe mein script ebnenfalls in den Ordner sripts verschoben... und es funktioniert!


Anstelle des Textes kann übrigens auch ein Bild (Flagge etc.) eingesetzt werden:

Code: Select all

{IMAGE:../img/flaggen/english.gif}
Bis gleich

PS
Dass es funktioniert, hast du auf meiner Homepage getestet?
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Prüfe doch bitte noch einmal genau die Schreibweise!

sieht das komplett dann so aus?

Code: Select all

[ID {PHP:scripts/switch_language.php}]{IMAGE:../img/flaggen/english.gif}[/ID]
Achte bitte auf das Leerzeichen bei .....[ID {PHP....., das muß sein!

Ansonsten alles ohne weitere Leerzeichen!
Carino
Posts: 98
Joined: Sat 25. Sep 2004, 13:27
Location: NRW - Oberbergisches Land
Contact:

Post by Carino »

Yes, sieht genau so aus. Habe deinen Link mal komplett so 1:1 übertragen.
Das Bild findet er zwar nicht, müsste aber trotzdem so sein, dass ausschliesslich der Bildplatzhalter erscheinen sollte.

http://muster.celt-design.de/sprachschule (Unten im Footer). Wie gesagt, Script scheint er zu finden, sonst würde er die default "1" ja nicht setzen.

Mir ist nur aufgefallen, dass hinter der "1" ein Freizeigen geht. Wenn ich den Link direkt eingeben würde inkl. dieser Freistelle, geht es auch nicht. Muss dann doch daran liegen. nur wieso? seh nicht dass irgendwo diese Leerstelle im Script erscheint. :(
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Hi Carino,

kann es vielleicht sein, daß diese Leerstell aus deinem PHP-Script übertragen wird?

Da darf natürlich z.B. bei:

case 8: echo '1'; break;

hinter der 2ten Zahl auch kein Leerzeichen auftauchen!!!
Carino
Posts: 98
Joined: Sat 25. Sep 2004, 13:27
Location: NRW - Oberbergisches Land
Contact:

Post by Carino »

habe dein script 1:1 übernommen:

<?php

//* Hier wird die Ketegorie-ID der aktiven Seite abgefragt ( 1. Zahl )
//* und die Artikel-ID der Ziel-Seite zurückgegeben ( 2. Zahl )
//*
//* Zeilen-Aufbau:
//* case xx: echo 'yy'; break;
//*
//* xx = Kategorie-ID der Original-Seite
//* yy = Artikel-ID der Ziel-Seite
//*
//* In der default Zeile steht die Artikel-ID des Sprungziels
//* für alle nicht definierten Seiten
//*
//* Für die Abfrage, zu welcher Seite gesprungen werden soll
//* ist der folgende Code in die phpWCMS-Vorlage einzubinden
//*
//* [ID {PHP:scripts/switch_language.php}] Text oder Image [/ID]


switch($GLOBALS['content']['cat_id']) {

case 0: echo '6'; break; // Homepage
case 8: echo '1'; break;

default: echo '1';

}
?>
Sag ja, dass ich nicht sehe dass eine leerstelle zuviel ist.
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Hi Carino,

du kannst mir ja per PN mal einen Account auf deiner Site einräumen.
Ich seh' dann mal rein :wink:

Das Miststück (:oops:) müssen wir doch ans Laufen kriegen... bei mir gehts doch auch :twisted:
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Hi Carino,

wo immer dieses ferflixte Leerzeichen auch her kommt...
dann verschieben wir es einfach da hin, wo es keinen Schaden anrichten kann...

Versuchs doch mal folgenden php-Code.
Dann müßte das unerklärliche Leerzeichen hinter dem ] auftauchen....
und dort ist es ein Kommentar (hoffentlich) :wink:

case 0: echo '[ID 6]'; break; // Homepage
case 8: echo '[ID 1]'; break;

default: echo '[ID 1]';



Der Aufruf im Template müßte dann so aussehen:

{PHP:scripts/switch_language.php}Text oder Image [/ID]


PS
Bei mir funktioniert es nach wie vor :?: :cry: :lol:
Melde dich mal... auf die Antwort warten einige Besucher!
Carino
Posts: 98
Joined: Sat 25. Sep 2004, 13:27
Location: NRW - Oberbergisches Land
Contact:

Post by Carino »

Ne, leider kein Erfolgserlebnis :-(
Kann es sein, dass es irgend ganz anders liegt? Weil bei dir läuft es ja auch, oder haben andere auch das Problem?

Wobei ich habe alle Updates geladen :-/

http://muster.celt-design.de/sprachschule
pepe
Posts: 3954
Joined: Mon 19. Jan 2004, 13:46

Post by pepe »

Hi Carino,

ich habe gesehen, daß auf deiner Site lediglich der Text gezeigt wurde weil der Befehl nicht richtig zusammengesetzt wurde.
Es entstand ein Umbruch innerhalb des Befehls.
Da kann das Programm natürlich nichts mit anfangen.

Ich würde der Sache ja gerne auf de Schliche kommen und bitte dich um einen letzten Versuch.
Mach doch mal folgende Änderung:

case 0: echo '[ID 6]Umschaltung[/ID]'; break; // Homepage
case 8: echo '[ID 1]Umschaltung[/ID]'; break;

default: echo '[ID 1]Umschaltung[/ID]';



Der Aufruf im Template müßte dann nur noch so aussehen:

{PHP:scripts/switch_language.php}

Das muß einfach funktionieren... wäre zwar nicht schön... aber wir lassen uns doch nicht von phpWCMS in die Enge treiben.

Wenns geht, schaun wir weiter :wink:
Carino
Posts: 98
Joined: Sat 25. Sep 2004, 13:27
Location: NRW - Oberbergisches Land
Contact:

Post by Carino »

huhu pepe,

das Portieren ins Script scheint zu klappen. Der Link wird übersetzt.
Jetzt frage ich mich, ob ich was falsch verstanden habe, weil die Seite nicht wechselt. Habe dann den defaultwert verändert und es ändert sich trotzdem nicht. Bleibt auf der Startseite sitzen.

Werde mir das nachher nochmal genauer ansehen, danke dir in jedem Fall schonmal ganz lieb!!
Post Reply