NOTFOUND_ARTICLE_ID und clang ...

Bei Problemen/Anregungen mehrsprachiger Webseiten.

NOTFOUND_ARTICLE_ID und clang ...

Beitragvon DaniH » 18. Aug 2010, 13:28

Hallo,

ich bin gerade dabei eine mehrsprachige Seite zu machen was ja mit Redaxo echt super geht, aber ich habe ein Problem ...

Wenn ich auf die 404 Seite komme (NOTFOUND_ARTICLE_ID) geht er immer automatisch bei clang auf den Wert 0, egal von welcher Sprache ich auch komme.
Gibt es irgend ein Trick wie ich die Sprache beibehalten kann?
DaniH
 
Beiträge: 59
Registriert: 28. Jan 2010, 16:45

Beitragvon Cheffchen » 18. Aug 2010, 14:14

Hallo,

test mal das, ist aber nur eine Idee mehr nicht.

redaxo/ include/ functions/ function_rex_generate.inc.php

Code: Alles auswählen
Zeile 365   $ART->setQuery('select * from '.$REX['TABLE_PREFIX'].'article where id='.$id.' and clang=0');
und
Zeile 375       $SART->setQuery('select * from '.$REX['TABLE_PREFIX'].'article where re_id='.$id.' and clang=0');

da steht immer clang=0 das könnte dein Problem sein, ersetzte mal die 0' mit '.$REX['CLANG']

Nur eine Idee, also Sicherung von der Datei machen :O).

Cheffchen
Benutzeravatar
Cheffchen
 
Beiträge: 1127
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Beitragvon DaniH » 18. Aug 2010, 14:49

Hallo Cheffchen,
es hat leider nichts gebracht, habe noch das selbe Problem.

Aber es hat mich auf eine andere Idee gebracht.

Ich verwende in einer Session die clang und lese anstelle von $REX['CLANG'] einfach die Session $_SESSION['clang'] an dieser stelle aus.

Leider bleibt dies auch ohne das gewünschte Ergebniss ...

Wenn ich im Template mir ausgeben lasse, welche clang gerade in der Session ist (auf der 404 Seite) antwortet er richtig mit 1 bzw. 0.
Jedoch nimmt er ohne Rücksicht die NOTFOUND_ARTICLE_ID und clang 0.
DaniH
 
Beiträge: 59
Registriert: 28. Jan 2010, 16:45

Beitragvon deadlock » 18. Aug 2010, 16:34

Du kannst über $REX['CUR_CLANG'] die aktuelle Sprache bestimmen und über file_get_content eine entsprechende 404 Seite laden.

Du brauchst dazu ein Template, dass nur den reinen Article ausgibt:

Code: Alles auswählen
<?php echo $this->getArticle(1); ?>


dieses Template weist du den 404 Seiten zu, für die unterschiedlichen Sprachen. Dann erstellst du ein Modul, dass je nach Sprache eine entsprechende Seite ausgibt. Dann erstellst du pro Sprache einen Artikel, in dem du das Modul jeweils einindest, der das "nur-Ausgabe" Template hat. In dem 404-Artikel baust du dann einen switch für die CLANG ein und lädst über file_get_content den jeweiligen Artikel mit der sprachspeziefischen 404-Seite.

Gibt bestimmt auch ne einfachere Lösung ;)
deadlock
 
Beiträge: 13
Registriert: 11. Aug 2010, 14:08
Wohnort: Bad Nauheim

Beitragvon Cheffchen » 18. Aug 2010, 16:45

Hallo,

wie kommst auf die Fehlerseite?
R4.2.1 So lange Redaxo aus der URL erkennt ob Deu oder Englisch wird auch die die richtige Fehlerseite angezeigt.
Erkennt Redaxo das nicht wird halt clang 0 als Standart angenommen, dann kann der Link aber auch nicht aus Redaxo sein sondern hat jemand selber zusammen gebastelt.
EDITE: habe ich das nicht hier schon gesagt, der Beitrag eins weiter?

Ich weis zwarnicht wieso aber eine Lösung wäre das über das Template bzw. ein Einfaches Modul/Ausgabe in der Fehlerseite wo halt über SESSION oder Browsererkennung verglichen wird und dann weitergeleitet wird auf die richtige Fehler Seite.
Zuletzt geändert von Cheffchen am 18. Aug 2010, 17:02, insgesamt 1-mal geändert.
Benutzeravatar
Cheffchen
 
Beiträge: 1127
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Beitragvon deadlock » 18. Aug 2010, 16:51

hab's mal eben mit einer jungfräulichen Redaxo Version probiert:

Die 404-Seite wird immer korrekt in der jeweiligen Sprache geladen.

Kann es vielleicht sein, dass Inhalte via AJAX nachgeladen werden, oder etwas ähnliches?
deadlock
 
Beiträge: 13
Registriert: 11. Aug 2010, 14:08
Wohnort: Bad Nauheim


Zurück zu Mehrsprachigkeit [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast