2016-04-04 9 views
0

Ich habe Menü mit 2 Ebenen. Alle Links sind anklickbar, aber ich möchte 1 Link deaktivieren. Dieser Link wird zum Öffnen UntermenüTypo3 hmenu deaktivieren einen Link

  <li class="sub-link"><a href="#">link1</a> 
      <ul id="sub-menu"> 
       <li><a href="#">sublink</a></li> 
       <li><a href="#">sublink2</a></li> 
      </ul> <!-- sub-menu --> 
      </li> 
      <li><a href="#">link2</a></li> 
      <li><a href="#">link3</a></li> 
      <li><a href="#">link4</a></li> 
      <li><a href="#">link5</a></li> 

I Link zu deaktivieren 1. Ich habe solche typoscript:

lib.menu.main = HMENU 
lib.menu.main { 
    special = list 
    special.value = 22,154,88 
    alwaysActivePIDlist = 22 
    1 = TMENU 
    1.NO = 1   
    1.wrap = <ul>|</ul> 
    1.NO.wrapItemAndSub = <li>|</li> 
    1.IFSUB=1 
    1.IFSUB.wrapItemAndSub = <li class="sub-link">|</li> 
    2 < .1 
    2.wrap = <ul id="sub-menu">|</ul> 
    2.NO.wrapItemAndSub = <li>|</li> 
} 

Wie ich dieses Problem entscheiden kann?

+0

, wie Sie meinen Sie es deaktivieren? Es sollte nur das Untermenü öffnen und nicht auf eine Seite verlinken? –

+0

Ja, wenn Sie den Link halten, sollte das Untermenü angezeigt werden, aber wenn Sie auf den Link klicken, ist keine Aktion erforderlich. – Dev

Antwort

2

Also habe ich zwei Möglichkeiten, dieses Problem zu lösen:

Die erste ist die Typo3-Dokumentation zu lesen und für „option“ suchen und „doNotLinkIt“ -Optionen. Sie sollten Ihnen helfen, Ihr Problem in TypoScript zu lösen.

Der andere ist es mit Javascript/JQuery zu lösen. Sie können den (in Ihrem Beispiel oben) ersten Punkt des Menüs auswählen und den Link mit dem, was Sie wollen, ersetzen.

$(document).ready(function(){ 
    $('.menu a').first().attr('href', '#'); 
}); 

Ich habe Ihnen eine Geige mit dem ganzen Beispiel: https://jsfiddle.net/bdrsssv7/


Stellen Sie sicher, Sie legen nicht die Javascript in HTML-Template, weil es nicht mit anderen auf den Seiten zur Verfügung stehen wird html- Vorlagen dann. einfach eine js-Datei und legen Sie sie über TypoScript wie folgt aus:

page.includeJS.file1 = fileadmin/yourTemplateLocation/yourFile.js 

Ich hoffe, dass eine der beiden Lösungen i helfen erwähnt könnten Sie