ui, klein Anne steht mal wieder total auf´m Schlauch...
Ich will was wahrscheinlich ziemlich simples umsetzen, komm aber mal wieder nicht weiter.
Und zwar möchte ich unter meinem Menü einen Button haben, mit dem ich ganz einfach die Seitensprache auswählen kann.
Wenn ich auf der deutschen Seite bin, soll das Ganze so aussehen:
Bild: cenario.de/…/typo_eng.gif
Und wenn ich mich auf der englischen Seite befinde soll der Button so aussehen:
Bild: cenario.de/…/typo_de.gif
(Ohne Dropdown oder so)
Der Button ist einfach ein div, bzw zwei div´s
jeweils für deutsch und englisch.
Wie bekomme ich jetzt im TS hin, dass der mir den blöden Button wechselt, wenn die sprache wechselt????
Hallole!
Schau doch mal hier nach:
http://typo3.org/documentation/document-library/core-documentation/doc_l10nguide/current/
Dort ist auf Seite 14 ein Language Selector Menü beschrieben.
Ich habe es 1:1 übernommen mit Ausnahme der Hintergrundfarbe. Bei Hintergrund=black war die aktuelle Flagge "weg".
Grüße
Erwin
Danke, aber hilft mir irgendwie auch nicht weiter.
Hab da so meine Probleme mit TS.
Und ich will ja, dass immer nur eine Flagge angezeigt wird
Hab dann mal versucht das Ganze mit PHP zu machen:
<?php
if (!is_object($this)) die ('Error: No parent object present.');
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'pages_language_overlay', 'pid='.intval($GLOBALS['TSFE']->id).$GLOBALS['TSFE']->sys_page->enableFields('pages_language_overlay'), 'sys_language_uid');
$langArr = array();
while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$langArr[$row['sys_language_uid']] = $row['title'];
}
$GLOBALS['TSFE']->sys_language_uid;
$deutsch = '<a href="'.htmlspecialchars('index.php?id='.$GLOBALS['TSFE']-">id.'&L=14').'" target="_top"><img src="typo3/sysext/cms/tslib/media/uploads/flag_uk.gif" width="21" height="13" hspace="5" border="0" alt="" />English Site</a>';
$englisch = '<a href="'.htmlspecialchars('index.php?id='.$GLOBALS['TSFE']-">id.'&L=15').'" target="_top"><img src="typo3/sysext/cms/tslib/media/uploads/flag_de.gif" width="21" height="13" hspace="5" border="0" alt="" />German Site</a>';
$flags = array();
$flags[1] = ($GLOBALS['TSFE']->sys_language_uid==15?$deutsch:'');
$flags[2] = ($GLOBALS['TSFE']->sys_language_uid==14?$englisch:'');
$content = implode('',$flags);
?>
funktioniert aber auch nicht.
Jemand eine Idee, woran es liegen könnte?
Nimm einfach diesen simplen Skript - ersetzte $defaultLang und $otherLang halt durch Flaggen-<img alt="" /> & Text ... #paralyzed#
(und ggf. die in der if-Abfrage verwendeten Werte)
<?php
/***************************************************************
*
* languageSwitch.php
*
* Simple PHP-Script for typo3 which returns a
* clickable String for switching between languages.
*
*
* ONLY works with two languages, of course ... =)
*
*
***************************************************************/
if (!is_object($this)) die ('Error: No parent object present.');
// Name of the default language - in that language
$defaultLang = "Deutsch";
// Name of the other language - in that language
$otherLang = "English";
// ... don't touch ... =)
$theLink = "";
$theWord = "";
// default Language ?
if ($GLOBALS['TSFE']->sys_language_uid==0) {
$theLink = '<a href="'.htmlspecialchars('index.php?id='.$GLOBALS['TSFE']-">id.'&L=1').'" onfocus="blurLink(this);" class="navi" target="_top">';
$theWord = $otherLang ;
}
// other Language ?
elseif ($GLOBALS['TSFE']->sys_language_uid==1) {
$theLink = '<a href="'.htmlspecialchars('index.php?id='.$GLOBALS['TSFE']-">id.'&L=0').'" onfocus="blurLink(this);" class="navi" target="_top">';
$theWord = $defaultLang ;
}
$content = $theLink.$theWord."</a>";
?>
... und, ja, der Skript ist krude & schluckt alle anderen Parameter ausser "id=" ... :o
suuuuuuper, danke! Jetzt funktioniert endlich alles so wie ich`s mir vorgestellt hab!
Im skript waren nur zwei Anführungszeichen zu viel:
Bild: cenario.de/…/typo_php.gif
und unten genauso
... Hoppla, das muß beim Copy&Paste mit reingerutscht sein ... #paralyzed#
Aber es hat Dich ja nicht zum Stolpern gebracht ... 😉