[TYPO3-german] Re: mehrere Sprachen, Seite ausblenden wenn nicht übersetzt: Problem

Bjoern Pedersen bjoern.pedersen at frm2.tum.de
Tue Sep 28 18:33:05 CEST 2010


Am 28.09.2010 16:58, schrieb Christian Hernmarck:
> Hallo Leute
> 
> ich hab versucht, zu suchen, ob das schonmal gefragt wurde... scheint
> schwierig betreffend der Suchbegriffe...
> 
> Es geht um folgendes: Eine Website mit einem mittelgrossen Seitenbaum
> schaltet bald zwei zusätzliche Sprachen auf (fr und it) - de besteht
> schon.
> 
> Einzelne Seiten gibt es nicht in anderen Sprachen. Da dort auch nicht
> die Standardsprache angezeigt werden soll, haben wir die
> Seitenoptionen "Seite verbergen, wenn keine Übersetzung für die
> aktuelle Sprache vorhanden ist" gesetzt.
> Das klappt soweit.
> 
> Nun gibt es natürlich verschiedene Ebenen. Und in einem Bereich gibt
> es für it gar keine Unterseiten, für fr wird eine der ca 5
> Unter-Seiten übersetzt. Im fr klappt es auch, das Menu klappt auf und
> zeigt diese eine Seite, im de natürlich 5 Unterseiten...
> Im it da geht's schief. Irgendwie merkt TYPO3 nicht, dass es zwar ein
> ACTIFSUB ist, aber keine Unterseiten existieren, die angezeigt werden
> sollen. Der macht dann den <ul> auf, aber nicht richtig zu....
> 
> Die relevante Config:
> 
> # Hauptnavigation
> temp.nav1 = HMENU
> temp.nav1 {
>   entryLevel = 0
>   1 = TMENU
>   1 {
>     noBlur = 1
>     wrap = <ul class="navi1">|</ul>
>     
>     NO.linkWrap = <li>|</li>
> 
>     ACT = 1
>     ACT.linkWrap = <li class="akt">|</li>
>     ACT.ATagParams = class="akt"
> 
>     ACTIFSUB = 1
>     ACTIFSUB.linkWrap = <li class="akt">|<ul class="navi2">
>     ACTIFSUB.ATagParams = class="akt"
>   }
>   2 < .1
>   2 {
>     wrap = |</ul></li>
>     ACTIFSUB.linkWrap = <li class="akt">|<ul class="navi3">
>   }
>   3 < .2
>   3 {
>     # diese Zeile 1):
>     wrap = |</ul></li>
>     ACTIFSUB.linkWrap = <li class="akt">|</li>
>   }
> }
> 

So würde ich das auch nicht lösen. Das <ul></ul> sollte man mit wrap im
parent-menu-Item einbauen, dann wird es nur erzeugt, wenn es auch ein
item gibt, das <li></li> kommt mit wrapItemAndSub, so das es am Ende
auch valide geschachtelt wird.

temp.nav1.1 {
        wrap = <ul class="level1">|</ul>

        NO = 1
        NO {
                wrapItemAndSub = <li class="menu_NO first">|</li> |*|
<li class="menu_NO">|</li> |*| <li class="menu_NO last">|</li>
        }

        # active state
        ACT < .NO
        ACT.allWrap = <strong>|</strong>
        ACT.wrapItemAndSub = <li class="menu_ACT first">|</li> |*|<li
class="menu_ACT">|</li> |*| <li class="menu_ACT last">|</li>
        IFSUB < .NO
        IFSUB.wrapItemAndSub = <li class="menu_NOSUB first">|</li>
|*|<li class="menu_NOSUB">|</li> |*|  <li class="menu_NOSUB last">|</li>

        ACTIFSUB < .ACT
        ACTIFSUB.wrapItemAndSub = <li class="menu_ACTSUB first">|</li>
|*|<li class="menu_ACTSUB">|</li>  |*| <li class="menu_ACTSUB last">|</li>
}

temp.nav1.2 < temp.nav1.1
temp.nav1.2.wrap = <ul class="level2">|</ul>
temp.nav1.3 < temp.nav1.1
temp.nav1.3.wrap = <ul class="level3">|</ul>

Grüße,
Björn


More information about the TYPO3-german mailing list