这是向joomla菜单添加字体真棒图标的简单方法。
打开modules / 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菜单管理器菜单标题后放置字体真棒类。
喜欢这个。
家庭咖啡
答案 0 :(得分: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];
}
}
}
答案 1 :(得分:0)
在我正在处理的网站上遇到类似的问题。 Joomla 3能够添加一个'链接css样式',如果填充了字体awsome样式(即'fa fa-home')将字体awsome类添加到'a'标记它可以工作,但它不遵循输入“i”标签的FA指南。
如果你想在joomla 3中做这个属性,这是我的解决方案
首先,我们需要为菜单创建模块覆盖
转到模板目录
如果不是exisits,请创建一个名为HTML的新目录
在HTML里面创建一个新目录mod_menu
从/ modules / mod_menu / tmpl目录复制以下文件并将它们粘贴到templates / 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 基本上我们需要看看'link css style'中是否有字体awsome样式 如果有,请将样式名称保存在变量中,然后从链接css样式中删除它。然后我们可以使用保存的字体awsome样式添加'i'标签。 这是代码 在第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号线或附近添加 echo $ fa_icon; 到你想要的字体awsome图标出现的位置。我想在'a'标签之前使用我的,所以这是我的新开关
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;
}
如果你想让字体awsome图标在'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菜单管理器,打开菜单项,单击“链接类型”标记,然后以“fa fa-”的形式将fa样式添加到链接css样式字段中。家' 点击保存,打开前端,刷新和BINGO!