2016-04-04 13 views
0

私は2レベルのメニューを持っています。すべてのリンクはクリック可能ですが、1つのリンクを無効にしたいとします。私はこの問題を決定することができますどのようにTypo3 hmenuは1つのリンクを無効にします

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> 
} 

:このリンクはサブメニュー

  <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> 

を開くために使用されている私は、このようなのTypoScriptを持っているリンク1.を無効にしたいですか?

+0

役立つことを願って?それは、サブメニューを開き、ページにリンクしてはならないのですか? –

+0

はい、ホバーリンクをクリックするとサブメニューが表示されますが、リンクをクリックすると操作は必要ありません。 – Dev

答えて

2

だから私は、この問題を解決するためにあなたのための二つの可能性を得た:

最初のものはTYPO3の-マニュアルを読み、「optionSplit」と「doNotLinkIt」-optionsためにルックアップするためにあります。彼らはtyposcriptであなたの問題を解決するのに役立つはずです。

もう1つはJavascript/JQueryを使用して解決することです。あなたは、メニューの最初のアイテム(上記のあなたの例で)を選択し、あなたが望むものにリンクを置き換えることができます。

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

私はあなたの全体の例とフィドルを作った: https://jsfiddle.net/bdrsssv7/


は、それが他のHTML-とのページで使用することはできませんので、あなたがHTMLテンプレートにJavascriptを挿入していないことを確認してくださいテンプレート。 ちょうどJSファイルを実行すると、このようなTypoScriptを経由して、それを挿入します。

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

私は、私が言及した2つの解決策の一つは、あなたがそれを無効にする意味どのよう

関連する問題