Visualizzare il menu delle lingue solo se ci sono traduzioni

Visualizzare il menu delle lingue solo se ci sono traduzioni

Come visualizzare il menu delle lingue in TYPO3 è molto facile con, ad esempio, il seguente codice TypoScript:

lib.menu_langs= HMENU 
lib.menu_langs{ 
  special = language 
  special.value = 0,1 
  special.normalWhenNoLanguage = 1 
  wrap = <div id="boxLanguage">|</div> 
  1 = TMENU 
  1 { 
    NO = 1 
    NO { 
      stdWrap.setCurrent = ITA || ENG 
      stdWrap.current = 1 
      allWrap = | &#124;  |*| | &#124;  |*| | 
    } 
    ACT < .NO 
    ACT.wrapItemAndSub = <span class="active"> | </span> 
    ACT.doNotLinkIt = 1 
  } 
}

Nel caso si voglia nascondere il menu per le pagine non tradotte, la ricerca di soluzione diventa un po' più difficile.

Oggi, nella mailing list italiana, Cristian Buja propone una soluzione:

lib.menu_langs.if.isTrue.numRows { 
    table = pages_language_overlay 
    select.pidInList.data = TSFE:id 
}

Nel codice sopra viene fatto uso della proprietà if di TypoScript, verificando nella tabella delle traduzioni se è presente almeno un record per la pagina visualizzata. Nel caso non sia presente nessuna traduzione, il menu non è creato e visualizzato nella pagina.