這個問題折騰了兩天,不過最後仍是搞定了。好比:你們經常使用的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.'">'; } } ?>