簡體   English   中英

在Joomla中將自定義元素添加到主菜單項

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM