[英]Add custom element to home menu item in Joomla
我想做的是一个非常简单的概念,但是对于php和joomla框架我不是那么好。 当前, 主菜单项是这样生成的:
<li class="item-101 current active">
<a class="hide-text" href="#some-link">Home</a>
</li>
我想要实现的是仅在主菜单项内插入<i>
元素,如下所示:
<li class="item-101 current active">
<a class="hide-text" href="#some-link"><i class="icon-home"></i>Home</a>
</li>
我怎样才能做到这一点? 我正在使用Joomla! 2.5个大气压
我想有可能做类似“如果此菜单项是首页链接,然后在<a>
标记内添加此代码”之类的事情,但是我真的不知道该怎么办,我的php不够强大:P
注意:
我这样做是为了实现一个简单的首页图标,而不是乱扔垃圾的首页菜单项。
正如类语法所暗示的那样,我使用的是twitter bootstrap css-framework,但是我实现了Icomoon字体集(如joomla 3.0),而不是tbs字形图标精灵图像。
不幸的是,使用基于字体的图标,文本规则也应用于图标,这就是我试图在<a>
标记内插入自定义元素的原因,以便我可以覆盖hide-text
的hide-text
类。主页图标。
感谢您的任何建议!
看看菜单模块的模板文件。
/modules/mod_menu/tmpl/default.php
该模板为菜单模块构建HTML。
我刚刚检查了它在Joomla 2.5中的工作方式,并在/modules/mod_menu/tmpl/default.php模板中构建了列表。 如果只想添加到主页链接,则必须添加一些代码。 像这样的东西:
if($item->home == '1'){ $item->title = '<i class="icon-home"></i>' . $item->title; };
将其插入到foreach循环下并开始执行,它应该类似于以下内容:
foreach ($list as $i => &$item) :
// THIS ADDS THE <i> to only the HOME LINK
if($item->home == '1'){ $item->title = '<i class="icon-home"></i>' . $item->title; };
$class = 'item-'.$item->id;
if ($item->id == $active_id) {
$class .= ' current';
}
祝好运 ;)
我也一直在遵循本指南(感谢Gruber和Mark Vink),但是使用字形图标而不是IcoMoon。 我发现上面的示例中存在语法错误。 对我有用的帽子是
foreach ($list as $i => &$item) {
if($item->home == '1')$item->title = '<span class="glyphicon glyphicon-home" aria-hidden="true"></span>' .$item->title;
$class = 'item-' . $item->id
等等...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.