Ausdruck in der richtigen Sprache

Bei Problemen/Anregungen mehrsprachiger Webseiten.

Ausdruck in der richtigen Sprache

Beitragvon Livia » 26. Sep 2006, 14:16

Ich frag mal wieder frech wegen einem Problem, wo ich irgendwie total auf der Leitung stehe.
(Sohnemann zahnt und Ehemann ist krank - bei Heimarbeit tödlich ;))

Ich hab nach den Infos hier ein Modul gebaut, womit jeweils der aktuelle Artikel gedruckt werden kann.
Das funzt soweit, bis darauf, dass ich, auch wenn ich mich in Sprache 1 befinde, das Fenster für den Druck von Sprache 0 kriege :(

Wo und wie im Link
Code: Alles auswählen
<a href="index.php?article_id=129&FORM[aid]='.$this->article_id.'"target="_blank" title="Diese Seite ausdrucken?" alt="Diese Seite ausdrucken?"><img src="files/print.jpg" /> Seite drucken</a>

muss ich die Auswahl für die Sprache einbauen?

Dickes Dankeschöön für Eure Hilfe :)
Das, worauf es ankommt, können wir nicht vorausberechnen.
Die schönste Freude erlebt man immer da, wo man sie am wenigsten erwartet.

Antoine de Saint - Exupéry
Livia
 
Beiträge: 101
Registriert: 16. Jul 2005, 19:30

Beitragvon Thomas.Blum » 26. Sep 2006, 15:17

Hej Livia,
Code: Alles auswählen
<a href="index.php?article_id=129&FORM[aid]='.$this->article_id.'&FORM[cla]='.REX_CLANG_ID.'"><img src="files/print.jpg" /> Seite drucken</a>



Code: Alles auswählen
if ("REX_ARTICLE_ID"!=$FORM[aid]) {

$CONTENT = new article();
$CONTENT->setArticleID($FORM[aid]);
$CONTENT->setClang($FORM[cla]);
echo $CONTENT->getArticle();
}


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 Livia » 26. Sep 2006, 16:32

Hi Thomas,

Dankeschööön :) doch...

ich hab das jetzt so einkopiert in mein Modul und mein Template und da bekomme ich folgenden Error:

Parse error: syntax error, unexpected T_DNUMBER in redaxo/include/classes/class.article.inc.php(452) : eval()'d code on line 43 :?
Das, worauf es ankommt, können wir nicht vorausberechnen.
Die schönste Freude erlebt man immer da, wo man sie am wenigsten erwartet.

Antoine de Saint - Exupéry
Livia
 
Beiträge: 101
Registriert: 16. Jul 2005, 19:30

Beitragvon Thomas.Blum » 26. Sep 2006, 16:40

Hej,

bitte ersetzen:

<a href="index.php?article_id=129&FORM[aid]='.$this->article_id.'&FORM[cla]=REX_CLANG_ID"><img src="files/print.jpg" /> Seite drucken</a>

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 Livia » 29. Sep 2006, 12:40

Hi Thomas,
ich kam leider die Tage nicht dazu, das auszuprobieren.

Wo ich es heute eingesetzt habe, kam erst nach Klick auf den Link nur eine weisse Seite, aber dann konnt ich mir selber helfen:
Code: Alles auswählen
<?

// Ausdrucken der Seite - ohne Menü etc.

echo "<a href=\"index.php?article_id=129&FORM[aid]=$this->article_id&FORM[cla]=REX_CLANG_ID\" target=\"_blank\"><img src=\"files/print.jpg\" /> #ausdruck#</a>"

?>

die '. und .' um $this->article_id mussten weg ;)

Jetzt funzt es :D

Das ganze hab ich noch ergänzt mit der Language_OPF_Variable #ausdruck# und -> perfecto!! :D
Vielen lieben Dank für Deine Hilfe und ein schönes Weekend :D
Das, worauf es ankommt, können wir nicht vorausberechnen.
Die schönste Freude erlebt man immer da, wo man sie am wenigsten erwartet.

Antoine de Saint - Exupéry
Livia
 
Beiträge: 101
Registriert: 16. Jul 2005, 19:30

Beitragvon barbe » 1. Aug 2007, 19:12

Hi Rexaner,

meine Frage waere nun nur noch, wie ich eine Variable bekomme:

Code: Alles auswählen
$CONTENT = new article;
$CONTENT->setArticleID($FORM[aid]);
$CONTENT->setClang($FORM[cla]);
echo '<h1>'.$CONTENT->getValue("name", $FORM[cla]).'</h1>';
echo $CONTENT->getArticle();


Leider bekomme ich die H1 Uberschrift nur ausgegeben, wenn es sich umdie Standard-Sprache handelt. von der aus ich den Aufruf starte.

Gruessle.
barbe
 
Beiträge: 245
Registriert: 17. Mai 2006, 12:09

Beitragvon n.ruediger » 2. Aug 2007, 11:00

Hallo,

soweit ich das jetzt überschauen kann, müsste es doch reichen, wenn du nur

echo '<h1>'.$CONTENT->getValue("name").'</h1>';

benutzt?! Die Sprache wird ja vorher bereits ausgewählt und braucht nicht mit übergeben zu werden.

Da ist auch laut der Klasse kein zweiter Parameter erlaubt!

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

Beitragvon barbe » 2. Aug 2007, 14:45

Hi Nicole,

danke. Das hatte ich schon probiert.

Code: Alles auswählen
$CONTENT = new article;
$CONTENT->setArticleID($FORM[aid]);
$CONTENT->setClang($FORM[cla]);
echo '<h1>'.$CONTENT->getValue("name").'</h1>';
echo $CONTENT->getArticle();


Der Code gibt mir leider die Ueberschrift nur aus, wenn ich die Print-Funktion in der Standard-Sprache aufrufe (0). Bei der zweiten Sprache ist die Ausgabe

Code: Alles auswählen
<h1></h1>


Es wird also nichts ausgegeben. Der Content hingegen wird in der richtigen Sprache ausgegeben.

Viele Gruesse.
barbe
 
Beiträge: 245
Registriert: 17. Mai 2006, 12:09

Beitragvon n.ruediger » 2. Aug 2007, 14:54

Hallo,

habe den Fehler in der Klasse gefunden. Wenn du im Frontend bist, dann wird nur der Content eingebunden, wenn du über die Funktion setArticleID gehst.

Also versuch es mal damit:

Code: Alles auswählen
$CONTENT = new article($FORM[aid], $FORM[cla]);
echo '<h1>'.$CONTENT->getValue("name").'</h1>';
echo $CONTENT->getArticle();


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

Beitragvon barbe » 2. Aug 2007, 15:03

Hi Nicole,

dieser Code aendert nichts an dem Fehler:

Code: Alles auswählen
$CONTENT = new article($FORM[aid], $FORM[cla]);
$CONTENT->setClang($FORM[cla]);
echo '<h1>'.$CONTENT->getValue("name").'</h1>';
echo $CONTENT->getArticle();


Und wenn ich es so mache, erscheint immer die englische Version:

Code: Alles auswählen
$CONTENT = new article($FORM[aid], $FORM[cla]);
echo '<h1>'.$CONTENT->getValue("name").'</h1>';
echo $CONTENT->getArticle();


Hmmmmm.

Viele Gruesse.
barbe
 
Beiträge: 245
Registriert: 17. Mai 2006, 12:09

Beitragvon n.ruediger » 2. Aug 2007, 15:11

Wie übergibst du denn die Variablen? Kann es sein, dass du diese besser per $_GET/$_POST auslesen solltest? Hast du mal überprüft, ob die richtigen Werte ausgegeben werden?

Ist die Seite irgendwo online und man kann sich das Problem in Live ansehen?

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

Beitragvon barbe » 2. Aug 2007, 15:22

Hi,

leider entwickle ich die Seite auf einem lokalen Server.

Die Variablen werden jedoch richtig uebergeben. Sind GET-Variablen. Hab sie ausgeben lassen, das funktioniert.

So schaut das ganzo Modul aus:

Code: Alles auswählen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><? print $REX['SERVERNAME'] ?></title>
</head>

<body onLoad="self.print()">

<?
if ("REX_ARTICLE_ID"!=$FORM[aid])
{

$CONTENT = new article($FORM[aid], $FORM[cla]);
$CONTENT->setClang($FORM[cla]);
echo '<h1>'.$CONTENT->getValue("name").'</h1>';
echo $CONTENT->getArticle();

}

?>

</body>
</html>


Liebe gruesse
Sebastian
barbe
 
Beiträge: 245
Registriert: 17. Mai 2006, 12:09

Beitragvon n.ruediger » 2. Aug 2007, 15:26

Hallo,

nimm mal das setClan noch raus...

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

Beitragvon barbe » 2. Aug 2007, 15:34

Hi,

hatte ich versucht. Dann nimmt er imm die Standard-Sprache (0). Anzeige ist korrekt.

Liebe Gruesse
Sebastian
barbe
 
Beiträge: 245
Registriert: 17. Mai 2006, 12:09

Beitragvon n.ruediger » 2. Aug 2007, 15:40

Hallo,

du benutzt doch das hier, oder:

Code: Alles auswählen
<?

// Ausdrucken der Seite - ohne Menü etc.

echo "<a href=\"index.php?article_id=129&FORM[aid]=$this->article_id&FORM[cla]=REX_CLANG_ID\" target=\"_blank\"><img src=\"files/print.jpg\" /> #ausdruck#</a>"

?>


Da wird doch gar keine id (also Nummer) übergeben?

Mal versucht die Sprachid statisch zu übergeben, als da mal ne 1 reinzuschreiben? Mit welcher Redaxoversion arbeitest du?

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

Nächste

Zurück zu Mehrsprachigkeit [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron