Zum Inhalt springen

HMENU, GMENU_LAYERS und excludeUidList im Submenü

Erstellt am 23. April 2014 · 5 Antworten · letzte Antwort am 24. April 2014

Tags: TYPO3 4.x, Frage

tikky ·

Hallo liebe Gemeinde,

ich habe ein Problem mit excludeUidList in Submenüs.

Was ich versuche:

Ich habe drei Seiten vom Typ "externe URL" für drei Sprachen (DE, ES, EN).
Nun versuche ich jeweils zwei der Seiten aus dem entsprechenden Submenü in jeder Sprache zu entfernen.

Grund:

Wenn ich die Seite mit der externen URL übersetze zerlegt mir TYPO3 den Link oder läßt mich erst gar keine andere URL in der Übersetzung angeben. Deswegen habe ich 3 Seiten angelegt.

Ist Zustand:

In allen Sprachen werden alle drei Links angezeigt.

Menü TS

# Nav rechts  
    NAV_RECHTS = HMENU
    NAV_RECHTS {
      special = directory
      special.value = 393
      entryLevel = 0  
      

    1 = GMENU_LAYERS
    1 {
    expAll = 1
      wrap=<table cellspacing="0" cellpadding="0">|</table>
      layerStyle = position:absolute; VISIBILITY:hidden
      topOffset = -12
      leftOffset = -125
      
      hideMenuWhenNotOver = 34
      hideMenuTimer = 500
      relativeToTriggerItem = 1      
      
      NO.wrap=<tr><td>|</td></tr>
      #NO.backColor = #3e2206
      NO.XY = 30,[10.h] +19
      
      NO.10 = TEXT
      NO.10.text.field = title
      NO.10.fontColor = #333333  
      NO.10.fontFile = fileadmin/fonts/arial.ttf
      NO.10.fontSize = 8
      
      NO.10.angle = -90                  
      NO.10.offset = 13,6
      NO.10.text.case = upper
      #NO.10.spacing = 1
      #NO.10.niceText = 2

      RO < .NO
      RO = 1
      RO {
      10.fontColor = #2c87bd
      }
      }  
    
      2 = TMENU
    2 {  
      wrap = <table cellspacing="0" cellpadding="0" class="sub-nav" width="120">|</table>
      NO.allWrap = <tr><td >|</td></tr> |*| <tr><td >|</td></tr> |*| <tr><td class="sub-nav-last">|</td></tr>
      #NO.ATagParams = class="sub-nav"
      
      
    } 
    
}

Menü-Struktur

Presse
- Pressemitteilungen
- Pressearchiv
- Pressebilder (<- link auf eine externe Bildergallerie, den ich in drei Sprachen haben will)
Downloads
...

Das menü ansich funktioniert einwandfrei.

Versuch in einer Sprache zwei der Linkseiten zu entfernen:

[globalVar = GP:L=0]
  config.sys_language_uid = 0
  config.language = de
  seite.10.marks.NAV_RECHTS.excludeUidList = 1175,1176
  seite.10.marks.NAV_RECHTS.1.excludeUidList = 1175,1176
  seite.10.marks.NAV_RECHTS.2.excludeUidList = 1175,1176
[global]

Alle drei Varianten der "seite.10..." habe ich nach einander probiert, hat aber nicht funktioniert.

Meine befürchtung ist, das excludeUidList nicht mit Submenüs oder mit GMENU_LAYERS klar kommt.

Hat jemand eine Idee wie ich das lösen kann?
Ich möchte nur den Pressebilder Link drei sprachig haben, egal wie.

Danke und liebe Grüße
Tikky

jenses ·

Variante 2&3 sind Blödsinn, da excludeUidList eine Eigenschaft von HMENU ist,
nicht aber von GMENU_LAYERS.

Der Fehler wird irgendwo anders in deinem Typoscript stecken (nicht geschlossene Klammer o.ä.).
Taste dich schrittweise voran,
ich würde z.B. das excludeUidList testweise mal direkt in das TS für NAV_RECHTS einbauen,
und alle Conditions erst mal rausschmeißen.

tikky ·

Folgendes habe ich versucht:

    NAV_RECHTS = HMENU
    NAV_RECHTS {
      special = directory
      special.value = 393
      entryLevel = 0  
      excludeUidList = 1175

    1 = GMENU_LAYERS
    ...    
}

leider verschwindet die 1175 nicht aus dem Submenü.
Auch wenn ich eine ID aus der Ebene Darüber wähle klappt es nicht.
Ich fürchte das GMENU_LAYERS macht mir da einen Strich durch die Rechnung. Die erste Menü-Ebene sind definitiv generierte Bilder.
Die 2te Ebene wo ich den Eintrag entfernen will ist so wie es aussieht ein Textmenü.

Ich gehe das TS nochmal durch ob ich irgendwo einen Fehler finde.

tikky ·

UPDATE: Das direkte Eintragen von excludeUidList in der NAV_RECHTS klappt doch. Man sollte auch das richtige TS ändern :-).

Nun noch finden warum das nicht geht wenn es unten in der Sprach-Condition steht.

tikky ·

Nun weis ich nicht mehr weiter, egal wo ich das "excludeUidList" platziere es greift.

Nur sobald ich es in die Sprach-Condition der Standardsprache (L=0) schreibe wird es zwar im ObjectBrowser noch korrekt angezeigt, greift aber im FE nicht.

Der Analyser zeigt auch keine Fehler.

tikky · · Beste Antwort

OK, ich habs.

# Default Sprache (EN,ES ausblenden)
seite.10.marks.NAV_RECHTS.excludeUidList = 1175,1176
# Englisch (DE,ES ausblenden)
[globalVar = GP:L=1]
  seite.10.marks.NAV_RECHTS.excludeUidList = 1140,1176
[global]
# Spanisch (DE,EN ausblenden)
[globalVar = GP:L=2]
  seite.10.marks.NAV_RECHTS.excludeUidList = 1140,1175
[global]