Zum Inhalt springen

Weisser Bildschirm nach Einfügen der PHP zum Sprachwechsel

Erstellt am 14. Oktober 2008 · 1 Antwort · letzte Antwort am 14. Oktober 2008

Tags: PHP, Frage

sKylo ·

Hallo,

mein Sprachwechsel funktioniert soweit über die normale Methode:

# SprachVariable L initialisieren
config.linkVars = L

# Standardsprache UID 0 -> Deutsch
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE

# Englisch, sys_language.uid = 1
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = en
config.locale_all = english
[global]

Ich habe die Seiten alle angelegt.

Nun versuche ich mit Hilfe diesen Skripts

<?
$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) {
    // Englisch ist aktiv - Deutsch anzeigen
    $flags[] = '<a href="index.php?id='.$GLOBALS["TSFE"]->id.'&L=1" target=_top>English</a>';
} elseif ($GLOBALS["TSFE"]->sys_language_uid==1) {
    // Deutsch ist aktiv - Englisch anzeigen
    $flags[] = '<a href="index.php?id='.$GLOBALS["TSFE"]->id.'&L=0" target=_top>Deutsch</a>';
}

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

?>

Eine Switch einzubauen. Allerdings kommt nur weisser Bildschirm.

Ich binde diese PHP an einer bestimmten Stelle ein.

temp.SPRACHE = PHP_SCRIPT
temp.SPRACHE.file = fileadmin/scripts/language_select.php

# Main TEMPLATE cObject for the BODY
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
    # Feeding the content from the Auto-parser to the TEMPLATE cObject:
  template =< plugin.tx_automaketemplate_pi1

    # Select only the content between the <body>-tags
  workOnSubpart = DOCUMENT_BODY

[...]
  
  subparts.SPRACHE < temp.SPRACHE

[...]
}

Allerdings kommt so nur eine leere Seite zum vorschein ohne Quellcode zum anzeigen.

Kennt jemand das Problem oder weiss sonst wie es zu lösen sein kann?

sKylo ·

hab es nun anders gelöst, einfach per TypoScript Links eingefügt á la

lib.link.language = TEXT
lib.link.language {
        value = <img src="fileadmin/lang/en.png" alt="English"/>
        typolink.parameter.data = page:uid
        typolink.additionalParams = &L=1
}

# Änderungen für die englische Sprache
[globalVar = GP:L=1]
        lib.link.language.value =<img src="fileadmin/lang/de.png" alt="Deutsch"/>
        lib.link.language.typolink.additionalParams = &L=0
[global]

und dann lib.link.language an einen marker gesetzt!

Naja das tuts erstmal!