Hallo,
möchte gerne die Sprachenumschaltung über ein DropDown Menü steuern.
Leider komm ich da nicht so ganz hinter,
hab dieses TS bereits schonmal erstellt, das war nicht für Sprachen, sondern für SeitenIds, denke das hilft mir schon weiter:
tmp.STANDORTE = HMENU
tmp.STANDORTE {
special = directory
special.value = 7
wrap = <form name="quickmenu" action=""><select name="pfad" onchange="window.location='index.php?id='+ document.quickmenu.pfad.options[document.quickmenu.pfad.selectedIndex].value" class="dropdown">|</select></form>
1 = TMENU
1{
NO.allWrap = <option value="{elementUid}">|</option>
NO.subst_elementUid = 1
NO.doNotLinkIt = 1
}
}
Mein Problem ist jetzt, wie ich die Sprachenid darein bekomme anstatt der Seitenid?
Geht sowas überhaupt?
Bitte um Hilfe 🙂
Vielen Dank für Hilfe im Voraus!
Gruß Daniel
möchte gerne die Sprachenumschaltung über ein DropDown Menü steuern.
Wie sieht die momentane Umschaltung aus? Über ein PHP-File? Dann baue das entsprechende HTML einfach um.
grüsse
Momentan war es als PHP-File, habs auch erst da umbauen wollen aber habs dann so gelöst:
temp.SPRACHE = COA
temp.SPRACHE {
wrap = <form name="quickmenu" action=""><select name="pfad" class="sprache" onchange="window.location='index.php?id='+document.quickmenu.pfad.options[0].value+'&L='+document.quickmenu.pfad.options[document.quickmenu.pfad.selectedIndex].value"> | </select></form>
5 = TEXT
5 {
field = uid
dataWrap = <option value="|">language</option>
}
10 = TEXT
10 {
field = uid
dataWrap = <option value="0">german</option>
}
20 = TEXT
20 {
field = uid
dataWrap = <option value="1">english</option>
}
30 = TEXT
30 {
field = uid
dataWrap = <option value="2">japan</option>
}
}
Gruß Daniel
Hallo,
hab Deine Lösung bei mir eingebaut, funktioniert super. Genau das, was ish haben wollte.
Aber: Wie realisiere ich das jetzt für die Druckausgabe???
Meine Druckausgabe wir momentan so gesteruert...
page.10.marks.DRUCKANSICHT = TEXT
page.10.marks.DRUCKANSICHT {
field = alias // uid
wrap = <a href="index.php?id=|.98" target="_blank"><img src="fileadmin/templates/images/printer.gif" border="0"> Druckansicht</a>
}
Klar, ich muss da jetzt "nur" noch das &L="Sprache" dazubekommen, aber wie?
Vielen Dank für Eure Hilfe im Voraus.
Matthias
hab ich zwischenzeitlich gelöst...
page.10.marks.DRUCKANSICHT = TEXT
page.10.marks.DRUCKANSICHT {
field = alias // uid
wrap = <a href="index.php?id=|.98" target="_blank"><img src="fileadmin/templates/images/printer.gif" border="0"> Druckansicht</a>
}
[globalVar = GP:L = 1]
page.10.marks.DRUCKANSICHT.wrap = <a href="index.php?id=|.98&L=1" target="_blank"><img src="fileadmin/templates/images/printer.gif" border="0"> Druckansicht</a>
[global]
[globalVar = GP:L = 2]
page.10.marks.DRUCKANSICHT.wrap = <a href="index.php?id=|.98&L=2" target="_blank"><img src="fileadmin/templates/images/printer.gif" border="0"> Druckansicht</a>
[global]
Jetzt soll ich aber das "Language" aus der Auswahlbox rausnehmen und immer die aktuelle Sprache drin anzeigen.
Wie kann ich das realisieren? Aussternern von 5 = TEXT ... bringt nichts, im Gegenteil, die aktuelle Seiten-ID wird nicht beibehalten beim Sprachumstieg.
Danke, Matthias
Hi,
damit die gewählte Sprache stehen bleibt musst du das „selected“ an die ausgewählte option mit einfügen.
Gruß Daniel
Ergänzung: Damit's auf mehreren Browsern klappt müsste der selected Eintrag so lauten
<select>
<option selected="selected"></option>
</select>
grüsse
@daniel_m_ww
kannst DU mir Dein Coding posten?
Im Drp-Down-Feld dteht dann bei mir immer Francais (letzte Eingabemöglichkeit) und nicht die aktuelle Sprache. Und wenn ich umschalte spring die Seite zuerst auf die Home-Seite und nicht die angezeigte Seite wird übersetzt.
Hmmmmmm, stehe da völlig auf'm Schlauch 😢
Hoffentlich naht Hilfe, soll das Projekt bis Weihnachten abschliessen #paralyzed#
Ausserdem funktioniert das mit den Navigationstexten auch noch nicht so toll
Wenn Du auf http://www.hay.de die Sprache English wählst, sollte die Navigation schon englisch sein.
Auch das content.fallback hat da nichts gebracht. Im Gegenteil, aktiviere ich es, wird nur ein Teil der Unternavigation englisch, der Rest Deutsch dargestellt. Klicke ich dann wieder auf den Link, so erscheint er in Englisch.
Alles etwas Dubios.
Weiß so langsam nicht mehr weiter
Hast du auch für jede Seite eine übersetzung angelegt? Damit er dafür ne Englische Übersetzung anzeigen kann?
Versuch es doch mal mit der Extension von Stanislav Rolland da gibt es ne flaggenweise Auswahl, eine mit Dropdown-Menu und eine mit Flage + Text. Wenn alles nichts hilft, dann versuche es mal mit dem PHP Skript von Kasper S. da ist der Languageumschalter zwar nur mit normalen Links gelöst, aber es sollt ein leichtes sein, diese in ein Dropdown Menu umzubauen.
<?php
/***************************************************************
* Copyright notice
*
* (c) 1999-2005 Kasper Skaarhoj (kasperYYYY@typo3.com)
* All rights reserved
*
* This script is part of the TYPO3 project. The TYPO3 project is
* free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
* A copy is found in the textfile GPL.txt and important notices to the license
* from the author is found in LICENSE.txt distributed with these scripts.
*
*
* This script is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
/**
* Creates a language-selector menu with three flags, an english, a danish and a german flag for each language supported on the site.
*
* THIS IS AN EXAMPLE designed to work with the official TYPO3 testsite, section "Another site in the ..."
* You will have to program a similar menu for your own case.
*
* $Id: example_languageMenu.php,v 1.6.6.1 2006/02/14 18:47:47 rfritz Exp $
* Revised for TYPO3 3.6 June/2003 by Kasper Skaarhoj
* XHTML compliant
*
* @author Kasper Skaarhoj <kasperyyyy@typo3.com>
*/
if (!is_object($this)) die ('Error: No parent object present.');
// First, select all pages_language_overlay records on the current page. Each represents a possibility for a language.
$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'];
}
// Little red arrow, which is inserted to the left of the flag-icon if the TSFE->sys_language_uid equals the language uid (notice that 0=english, 1=danish and 2=german is SPECIFIC to this database, because these numbers refer to uid's of the table sys_language)
// $pointer = '<img src="'.t3lib_extMgm::siteRelPath('cms').'media/icons_misc/content_client.gif" width="7" height="10" align="middle" alt="" />';
// Set each icon. If the language is the current, red arrow is printed to the left. If the language is NOT found (represented by a pages_language_overlay record on this page), the icon is dimmed.
$flags = array();
$flags[] = ($GLOBALS['TSFE']->sys_language_uid==0?$pointer:'').'<li><a href="'.htmlspecialchars('index.php?id='.$GLOBALS['TSFE']-">id.'&L=0').'" target="_top">Sprache 1</a></li>';
$flags[] = ($GLOBALS['TSFE']->sys_language_uid==1?$pointer:'').'<li><a href="'.htmlspecialchars('index.php?id='.$GLOBALS['TSFE']-">id.'&L=1').'" target="_top">Sprache 2</a></li>';
$flags[] = ($GLOBALS['TSFE']->sys_language_uid==2?$pointer:'').'<li><a href="'.htmlspecialchars('index.php?id='.$GLOBALS['TSFE']-">id.'&L=2').'" target="_top">Sprache 3</a></li>';
// Make the little menu. Notice, the menu does ONLY transfer the page-id and the "L" variable (which is also SPECIFIC for this website because "L" has been used in the extension template used to control the language setup)
$content = '<ul>'.implode('',$flags).'</ul>';
?>
Dieses PHPSKript einfach einbinden im Typoskript je nachdem ob du TV oder noch die alten Templates benutzt mit
lib.blablabla = PHP_SCRIPT
lib.blablabla.file = fileadmin/script/sprachen.php
oder halt an deinem Templateplatzhalter einbinden...
Und die Sprachenkonfiguration nicht vergessen ...
config.linkVars = L
#values for default language
[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE.ISO88591
# English language, sys_language.uid = 1
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = en
config.locale_all = en_EN.ISO88591
[global]
...
dann versuche es mal mit dem PHP Skript von Kasper S. da ist der Languageumschalter zwar nur mit normalen Links gelöst, aber es sollt ein leichtes sein, diese in ein Dropdown Menu umzubauen.
Dies wollte ich zu Beginn irgendwo auch heraushören - warum nicht gleich den jeweiligen Status im vorgesehenen PHP-File umsetzen? Gibt ja nur zwei #paralyzed# .
grüsse