Drupal 系列四:如何禁用主菜单上有子菜单目录的链接
2015-01-27 00:00
155 查看
摘要: 大家常用的TB Mega Menu,但有子菜单的链接必须定义!可是有时候是不需要,怎么办?
这个问题折腾了两天,不过最后还是搞定了。比如:大家常用的TB Mega Menu,但有子菜单的链接必须定义!可是有时候是不需要,怎么办?
内容来自: http://blog.mreald.com
怎么改?
很简单:把 a标签内容改为:href="#" onclick="return false"
在哪儿改?
第一次尝试:感觉直接改数据库,找到Menu表,把链接字段给改了,或者删除,但结果是,要么不显示,要么生成新的链接。----失败!
第二次尝试:改主题。既然所有的结果输出都经过主题,那么在主题拦截,做出更改,肯定可以!结果:不可以,不论你怎么改,都还是原来的链接 -------失败!
第三次尝试:可以根据 css 的class 定位用JS修改,但只能改href的值,不能增加onclick....(可能js玩的不熟)
第四次尝试:内容的输出可能不是网站主题,而是TB mega menu 模块的主题输出。 找数组输出的地方,改内容,一个晚上尝试,没结果 ----失败!
第五次尝试:定位在模块!读TB Mega menu的源代码,看其逻辑关系--->内容输出--->包装。最后终于发现:在一个tpl.php里面做内容的包装。结果:改html与php结合的代码,为php代码,就OK!
更多好处:
如果在导航栏增加外网的链接,就可以增加 _blank 属性,在新网页打开了!
原代码:
改为:
这个问题折腾了两天,不过最后还是搞定了。比如:大家常用的TB Mega Menu,但有子菜单的链接必须定义!可是有时候是不需要,怎么办?
内容来自: http://blog.mreald.com
怎么改?
很简单:把 a标签内容改为:href="#" onclick="return false"
在哪儿改?
第一次尝试:感觉直接改数据库,找到Menu表,把链接字段给改了,或者删除,但结果是,要么不显示,要么生成新的链接。----失败!
第二次尝试:改主题。既然所有的结果输出都经过主题,那么在主题拦截,做出更改,肯定可以!结果:不可以,不论你怎么改,都还是原来的链接 -------失败!
第三次尝试:可以根据 css 的class 定位用JS修改,但只能改href的值,不能增加onclick....(可能js玩的不熟)
第四次尝试:内容的输出可能不是网站主题,而是TB mega menu 模块的主题输出。 找数组输出的地方,改内容,一个晚上尝试,没结果 ----失败!
第五次尝试:定位在模块!读TB Mega menu的源代码,看其逻辑关系--->内容输出--->包装。最后终于发现:在一个tpl.php里面做内容的包装。结果:改html与php结合的代码,为php代码,就OK!
更多好处:
如果在导航栏增加外网的链接,就可以增加 _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.'">'; } } ?>
相关文章推荐
- drupal:如何显示primary-link的子菜单
- Android系列之如何判断网络链接状态
- 网络采集软件核心技术剖析系列(1)---如何使用C#语言获取博客园某个博主的全部随笔链接及标题
- 如何禁用Visual Studio 2013的浏览器链接功能
- Drupal 系列一:如何快速学习 Drupal
- 【Windows Mobile开发系列 之 目录】各个标题的目录链接,持续更新
- RHCSA 系列(二): 如何进行文件和目录管理
- 用于建立后台管理与前端应用的虚拟目录链接,请注意以下命令行脚本只限运行于win7系列操作系统
- 2013-01-28 09:46 PHP阻止页面后退如何用PHP实现禁用浏览器的后退,使后退的页面失效或链接到别的地方?使用php禁止浏览器缓存?
- word 中如何添加图片和表格目录或链接的问题
- 如何才能做一个好网站系列 第一篇 目录
- BIEE 11g如何移除目录、打开、高级、帮助等链接
- tar如何解压文件到指定的目录? [复制链接]
- drupal7 如何自定义内容部链接,并预留hook接口(自定义视图字段比较有用)
- 2.建一个新目录/oldboy的硬链接数是多少?(考试题答案系列)
- 如何修改项目的目录,各资源链接?
- Drupal7如何将分类添加到主菜单
- 如何让目录更美观更实用(博客内链接)
- 网络采集软件核心技术剖析系列(1)---如何使用C#语言获取博客园某个博主的全部随笔链接及标题
- (Mac OS X)基础弱智系列问题——如何让Finder显示出根目录的/usr和/etc等隐藏文件夹