2014-04-25 80 views
0

這是一個簡單的方法來添加字體真棒圖標joomla菜單。如何添加字體真棒圖標Joomla菜單

打開模塊/ mod_menu/TMPL /如default.php

查找

foreach ($list as $i => &$item) : 

在foreach後添加此功能。

if(strpos($item->title,"fa-") !== false){ 
    $titleArray = explode("fa-",$item->title);   
    $item->title = ""; 
    for($i=0;$i<count($titleArray);$i++){ 
     if($i){ 
      $item->title .= "<i class=\"fa fa-".$titleArray[$i]."\"></i>"; 
     }else{ 
      $item->title .= $titleArray[$i]; 
     } 
    }  
} 

當你去joomla菜單管理器把菜單標題後的字體真棒類。

像這樣。

首頁FA-咖啡

+0

這是一個問題或教程? – phaberest

回答

0

試試下面:

 if(strpos($item->title,"|") !== false){ 
       $titleArray = explode("|",$item->title);   
       $item->title = ""; 
       for($i=0;$i<count($titleArray);$i++){ 
        if($i){ 
         $item->title .= html_entity_decode("<i class=\"fa ".$titleArray[$i]."></i>"); 
        }else{ 
         $item->title .= $titleArray[$i]; 
        } 
       }  
      } 
+0

沒有結果相同:(無論如何謝謝你的時間。 – Int

0

一個網站,我在工作的時刻上也有類似的問題。 Joomla 3有能力添加一個'鏈接CSS樣式',如果填充字體awsome樣式(即'fa fa-home')將字體awsome添加到'a'標籤它可以工作,但不會遵循FA標準中加入'我'的標籤。 如果你想在joomla 3中做到這一點,這裏是我的解決方案。
首先,我們需要對菜單創建一個模塊替代
轉到您的模板目錄 如果不是exisits,創建一個名爲HTML
內HTML新目錄下創建一個新的目錄mod_menu
從/模塊複製以下文件/ mod_menu/TMPL目錄下,並將其粘貼在模板/ yourtemplate/HTML/mod_menu目錄: -
如default.php
default_url.php
default_component.php
的Joomla只允許覆蓋如default.php文件,以便獲得圍繞此重命名
default_url.php和default_component.php

default_url2.php和default_component2.php
(請確保您在新創建的模塊覆蓋目錄很容易編輯原始的,而不是複製。
開如default.php
處或周圍線75
變化DEFAULT_URL的兩個實例來default_url2
變化default_component到default_component2

// Render the menu item. 
switch ($item->type) : 
    case 'separator': 
    case 'url': 
     require JModuleHelper::getLayoutPath('mod_menu', 'default_url2'); 
     break; 
    case 'component': 
     require JModuleHelper::getLayoutPath('mod_menu', 'default_component2'); 
     break; 
    case 'heading': 
     require JModuleHelper::getLayoutPath('mod_menu', 'default_' . $item->type); 
     break; 

    default: 
     require JModuleHelper::getLayoutPath('mod_menu', 'default_url2'); 
     break; 
endswitch; 

現在我們有超過默認情況下,default_url2控制和default_component2

開放default_component2.php 基本上我們需要看'鏈接css風格'中是否有字體awsome風格 如果有,請保存風格名稱在一個變量中,然後從鏈接CSS樣式中刪除它。然後,我們可以添加'我'標記與保存的字體awsome風格。 這裏是代碼 處於或接近13行替換

$class = $item->anchor_css ? 'class="' . $item->anchor_css . '" ' : ''; 

$anchor_css = $item->anchor_css; 
if (preg_match_all("/(fa-[-a-z0-9]+)/", $anchor_css, $fa)){ //look for a font awsome class name beginning with fa- if found the lass name is stored in $out[0][0] 
    $anchor_css = preg_replace("/(fa-[-a-z0-9]+)/", "", $anchor_css); //remove the font awsome class name starting with fa- 
    $anchor_css = preg_replace("/fa/", "", $anchor_css); //remove the fa prefix from the class 
    $anchor_css = preg_replace('!\s+!', ' ', $anchor_css); //remove multiple spaces and replace with a single space 
    $anchor_css = trim($anchor_css); //remove leading/trailing spaces 
} 
$fa_icon = $fa[0][0] ? '<i class="fa '.implode(' ',$fa[0]).'" ></i>' :''; //if a font awsome class name exists, create an <i></i> tag 
$class = $anchor_css ? 'class="' . $anchor_css . '" ' : ''; 

現在我們需要將圖標添加到代碼 處於或接近34行添加 回聲$ fa_icon; 到您希望字體awsome圖標出現的位置。我想雷的一個標籤之前,所以這是我的新交換機

switch ($item->browserNav) 
{ 
    default: 
    case 0: 
     echo $fa_icon; 
     ?> 
     <a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a> 
     <?php 
     break; 
    case 1: 
     // _blank 
     echo $fa_icon; 
     ?> 
     <a <?php echo $class; ?>href="<?php echo $item->flink; ?>" target="_blank" <?php echo $title; ?>><?php echo $linktype; ?></a> 
     <?php 
     break; 
    case 2: 
    // Use JavaScript "window.open" 
     echo $fa_icon; 
     ?> 
     <a <?php echo $class; ?>href="<?php echo $item->flink; ?>" onclick="window.open(this.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes');return false;" <?php echo $title; ?>><?php echo $linktype; ?></a> 
     <?php 
     break; 
} 

,如果你想要的字體要命的圖標是「A」標籤中只是簡單地移動

echo $fa_icon; 

switch ($item->browserNav) 
{ 
    default: 
    case 0: 
     ?> 
     <a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $fa_icon . $title; ?>><?php echo $linktype; ?></a> 
     <?php 
     break; 
    case 1: 
     // _blank 
     ?> 
     <a <?php echo $class; ?>href="<?php echo $item->flink; ?>" target="_blank" <?php echo $fa_icon . $title; ?>><?php echo $linktype; ?></a> 
     <?php 
     break; 
    case 2: 
    // Use JavaScript "window.open" 
     ?> 
     <a <?php echo $class; ?>href="<?php echo $item->flink; ?>" onclick="window.open(this.href,'targetWindow','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes');return false;" <?php echo $fa_icon . $title; ?>><?php echo $linktype; ?></a> 
     <?php 
     break; 
} 

重複上述用於default_url2.php的代碼的第一部分是完全一樣的,但是在DEFAULT_URL開關到default_component不同

switch ($item->browserNav) : 
    default: 
    case 0: 
     echo $fa_icon; 
     ?> 
     <a <?php echo $class; ?>href="<?php echo $flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php 
     break; 
    case 1: 
     // _blank 
     echo $fa_icon; 
     ?> 
     <a <?php echo $class; ?>href="<?php echo $flink; ?>" target="_blank" <?php echo $title; ?>><?php echo $linktype; ?></a><?php 
     break; 
    case 2: 
     // Use JavaScript "window.open" 
     $options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,' . $params->get('window_open'); 
     echo $fa_icon; 
     ?> 
     <a <?php echo $class; ?>href="<?php echo $flink; ?>" onclick="window.open(this.href,'targetWindow','<?php echo $options;?>');return false;" <?php echo $title; ?>><?php echo $linktype; ?></a><?php 
     break; 
endswitch; 

保存所有文件 ,這就是它 要將字體圖標添加到您的菜單項,剛去的Joomla菜單管理器,打開一個菜單項,點擊「連接類型」標籤,並添加你的發風格的鏈接CSS樣式字段的形式'fa fa-home' 點擊保存,打開前端,刷新和BINGO!