[英]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.