Drupal 系列四:如何禁用主菜單上有子菜單目錄的連接

            這個問題折騰了兩天,不過最後仍是搞定了。好比:你們經常使用的TB Mega Menu,但有子菜單的連接必須定義!但是有時候是不須要,怎麼辦?php

內容來自: http://blog.mreald.com  css

怎麼改?html

很簡單:把 a標籤內容改成:href="#" onclick="return false"數據庫


在哪兒改?數組

第一次嘗試:感受直接改數據庫,找到Menu表,把連接字段給改了,或者刪除,但結果是,要麼不顯示,要麼生成新的連接。----失敗!網站

第二次嘗試:改主題。既然全部的結果輸出都通過主題,那麼在主題攔截,作出更改,確定能夠!結果:不能夠,不論你怎麼改,都仍是原來的連接 -------失敗!url

第三次嘗試:能夠根據 css 的class 定位用JS修改,但只能改href的值,不能增長onclick....(可能js玩的不熟)code

第四次嘗試:內容的輸出可能不是網站主題,而是TB mega menu 模塊的主題輸出。 找數組輸出的地方,改內容,一個晚上嘗試,沒結果  ----失敗!htm

第五次嘗試:定位在模塊!讀TB Mega menu的源代碼,看其邏輯關係--->內容輸出--->包裝。最後終於發現:在一個tpl.php裏面作內容的包裝。結果:改html與php結合的代碼,爲php代碼,就OK!blog


更多好處:

            若是在導航欄增長外網的連接,就能夠增長 _blank 屬性,在新網頁打開了!


原代碼:

 

<a href="<?php print in_array($item['link']['href'], array('<nolink>')) ? "#" : url($item['link']['href']);?>" class="<?php print implode(" ", $a_classes);?>">


改成:

 

<?php

 if($submenu && $block_config['auto-arrow']) {
echo '<a href="#" onclick="return false"   class="dropdown-toggle">';
 }else{
$href=in_array($item['link']['href'], array('<nolink>')) ? "#" : url($item['link']['href']);
$addclass=implode(" ", $a_classes);
if($href == "http://blog.mreald.com/index.php")
{
echo '<a href="'.$href.'"  class="'.$addclass.'" target="_blank">';
}else{
echo '<a href="'.$href.'"  class="'.$addclass.'">';
}
 }

?>
相關文章
相關標籤/搜索