[TYPO3-german] 7.0.2: 2-Ebenen <ul>-Sprachauswahl-Menü mit eigenen Bildern

bernd wilke t3ng at bernd-wilke.net
Tue Feb 24 08:36:38 CET 2015


Am 24.02.15 um 01:52 schrieb Felix H.:
> Hallo Liebe Typo-Gemeinde,
>
> ich versuche gerade meine erste eigen Typo3 Seite zu erstellen und hänge
> bei meinem etwas speziellen Sprachauswahl-Menü etwas fest.
> Ich möchte gerne ein Drop-Down Menü wo immer die aktive Sprache als
> (eigene) Bild-Fahne angezeigt wird. Wenn man auf den nebenstehenden
> Pfeil klickt/hovert sollen die anderen Sprach-Fahnen angezeigt werden
> (zum Umschalten der Sprache).
>
> Rein html-mässig möchte ich gerne folgendes Ergebnis:
>
> <ul class="sprache">
>       <li><a href="index.php?id=73&L=0"><img src="DE.gif" alt="Deutsch"
> lang="de" /></a>    <!-- Hier die aktive Sprache-->
>             <div class="dropdown"></div>
>             <ul class="spracheanders">
>          <li><a href="&L=1"><img src="UK.gif" lang="en" class="filter"
> /></a></li>    <!-- Hier die inaktiven Sprachen-->
>          <li><a href="&L=2"><img src="IT.gif" alt="Italiano" lang="it"
> class="filter" /></a></li>  <!-- Hier die inaktiven Sprachen-->
>          </ul>
>       </li>
> </ul>
>
> Ich habe in  meinem Template den Marker ###SPRACHE### an die gewünschte
> Stelle gesetzt und folgendes Typoscript verwendet:

[...]
>
> Dieses Funktioniert zwar (Sprachen lassen sich umschalten), aber die
> aktive Sprache wird nicht in den passenden Bereich verschoben. Wir ist
> bewusst, das dieses Typoscript die Sprache, bzw. die Reihenfolge der
> Bilder nicht dynamisch erstellt (wie ich es gerne hätte), aber hat hier
> vielleicht jemand eine Idee wie dies (ohne Extension) umsetzbar ist?
>
> Ich wäre für Tipps und Ideen sehr dankbar, vielen Dank =))

da die Einträge nciht direkt umsortiert werden kann musst du einfach 
tricksen, indem du zwei Menüs ausgibst.
Das erste Menü realisiert nur die aktive Sprache, das zweite dann die 
inaktiven Sprachen

SPRACHE = COA
SPRACHE {
	wrap = <ul class="sprache"><li>|</li></ul>
	10 = HMENU
	10 {
		// nur aktive Sprache
		wrap = |<div class="dropdown"></div>
	}

	20 = HMENU
	20  {
		wrap = <ul class="spracheanders">|</ul>
		// nur inaktive Sprachen
	}
}

Hinweis:
versuche unbalanzierte Wraps zu vermeiden. normalerweise geht das in 
Typoscript recht gut, zb durch einfügen einer weiteren COA-Ebene.

In diesem Fall habe ich so meine Zweifel über die 
ineinandergeschachtelten UL. Das ist semantisch auf jeden Fall inkorrekt.

ich hätte jetzt eher an folgendes gedacht:
SPRACHE = COA
SPRACHE {
	wrap = <select size="1">|</select>
	10 = HMENU
	10 {
		// nur aktive Sprache
		:
		1 {
			:
			wrap = <option selected="selected">|</option>	
		}
	}
	20 = HMENU
	20{
		// nur aktive Sprache
		:
		1 {
			:
			wrap = <option>|</option>	
		}
	}
}

bernd
-- 
http://www.pi-phi.de/cheatsheet.html


More information about the TYPO3-german mailing list