Zum Inhalt springen

my_languageMenu.php und V4.3.0

Erstellt am 5. Dezember 2009 · 1 Antwort · letzte Antwort am 13. Dezember 2009

Tags: PHP, Frage

RT-Schwabe ·

Hallo zusammen

ich habe eine neue Seite augesetzt in Version 4.3.0
Ich habe versucht das my_languageMenu.php einzubauen, aber es wird einfach nicht angezeigt. Die manuelle Umschaltung der Sprachen über die Browserzeile funktioniert und es werden deutsche oder englische Inhalt angezeigt. NUr das Auswahlmenü kommt nicht. Marker ###SPRACHE### wird angesprochen, aber scheinbar die php nicht ausgeführt (?).

Englisch wird als UID=1 angezeigt.

config {
  renderCharset = utf-8
  metaCharset = utf-8
  additionalHeaders = Content-Type:text/html;charset=utf-8
  linkVars = L
  baseURL = http://www.domain.org/
  sys_language_uid = 0
  language = de
  locale_all = de_DE
  no_cache = 1
}

[globalVar = GP:L = 1]
config {
  linkVars = L
  baseURL = http://www.domain.org/
  sys_language_uid = 1
  language = en
  locale_all = en_EN
  no_cache = 1
}
[global]

Und hier die PHP - Einbindung:

10.marks.SPRACHE = PHP_SCRIPT
  10.marks.SPRACHE.file = fileadmin/scripts/my_languageMenu.php

das ist meine my_languageMenu.php

<?php
// F?r die aktuelle Seite werden alle all pages_language_overlay records geholt. Jeder Record entspricht einer Sprache
$query = "SELECT * FROM pages_language_overlay WHERE pid=".$GLOBALS["TSFE"]->id.$GLOBALS["TSFE"]->sys_page->enableFields("pages_language_overlay")." GROUP BY sys_language_uid";

$res = mysql(TYPO3_db,$query);
$langArr=array();
while($row=mysql_fetch_assoc($res)) {
        $langArr[$row["sys_language_uid"]]=$row["title"];
}

$flags = array();
if ($GLOBALS["TSFE"]->sys_language_uid==0) {

        // Deutsch ist aktiv
        $flags[] = '<a href="index.php?id='.$GLOBALS[" tsfe-="">id.'&L=1" target=_top><img src="fileadmin/images/flags/uk.gif" alt="" border="0" align="absmiddle" height="13" width="22" id="English version" title="" /></a>';
        $flags[] = '<span id="s-enx"><a href="index.php?id='.$GLOBALS[" tsfe-="">id.'&L=1" target=_top> English     </a></span>';


}

if ($GLOBALS["TSFE"]->sys_language_uid==1) {

        // Englisch ist aktiv
        $flags[] = '<a href="index.php?id='.$GLOBALS[" tsfe-="">id.'&L=0" target=_top><img src="fileadmin/images/flags/de.gif" alt="" border="0" align="absmiddle" height="13" width="22" id="deutsch" title="" /></a>';
        $flags[] = '<span id="s-dex"><a href="index.php?id='.$GLOBALS[" tsfe-="">id.'&L=0" target=_top> Deutsch     </a></span>';

}


// Macht die Ausgabe. Das Men? transferitert die page-id und die "L" variable zur Sprachsteuerung
$content = implode("",$flags);
?>

Mit genau diesen EInstellungen haben ich Version 4.3.0 bei Strato am Laufen. Ich habe jetzt die Seite neu aufgesetzt bei JWeiland und hier wirds nicht angezeigt. Vermutlich hab ich einfach irgendwo was vergessen, aber finds einfach nicht.

Im Quelltext der geladenen Seite wird die Sprachauswahl gar nicht angezeigt, d.h das div ist leer:

 <div id="logo" class="sprache"></div>

Vielleicht hat jemand ein Tipp für mich?

Gruß
Thorsten

anwor ·

Hallo RT-Schwabe,

Ich habe gleiche Problem. nähmlich es wird kein php-dateien angesprochen. Ich habe sogar test datei geschrieben das wird nicht berücksichtigt oder angezeigt.

LANGUAGE=PHP_SCRIPT
 LANGUAGE.file=fileadmin/signo/text.php

test.php Datei

<?php
echo"Hallo";
?>

hast du vielleicht inzwischen die Lösung gefunden, wäre sehr nett wenn du mir die Lösung schriebst. oder jemand der die Lösung kennt uns netter weisse hilft.

ich möchte wissen ob nur mit diesem einfachen Typoscript von oben man ein php datei in ein Stelle bringen kann oder noch zusätzlich etwas anderes notwendig???

bei mir ohne php funktioniert Sprachen einmal frei, aber ich möchte mit my_languageMenu.php das machen.

Vielen Dank im Voraus

mt freundlichen Grüssen
anwor