Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Joomla菜单中添加字体图标_Php_Joomla - Fatal编程技术网

Php 如何在Joomla菜单中添加字体图标

Php 如何在Joomla菜单中添加字体图标,php,joomla,Php,Joomla,这是一个向joomla菜单添加字体图标的简单方法 打开modules/mod_菜单/tmpl/default.php 发现 在foreach之后添加此函数 if(strpos($item->title,"fa-") !== false){ $titleArray = explode("fa-",$item->title); $item->title = ""; for($i=0;$i<count($titleArray);$i++)

这是一个向joomla菜单添加字体图标的简单方法

打开modules/mod_菜单/tmpl/default.php

发现

在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菜单管理器时,请在菜单标题后添加font awesome类

像这样

家庭咖啡

请尝试以下内容:

      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];
                    }
                }       
            }

在我目前正在开发的一个网站上也有类似的问题。Joomla 3能够添加“链接css样式”,如果使用字体awsome样式(即“fa-fa-home”)填充该样式,则会将字体awsome类添加到“a”标记中。它可以工作,但不遵循fa将字体awsome类放入“i”标记的指导原则。 如果您想在joomla 3中实现它,下面是我的解决方案。 首先,我们需要为菜单创建一个模块覆盖 转到模板目录 如果不存在,则创建一个名为HTML的新目录 在HTML内部创建一个新的目录mod_菜单 从/modules/mod_menu/tmpl目录复制以下文件,并将其粘贴到templates/yourtemplate/HTML/mod_menu目录中:- default.php 默认url.php default_component.php Joomla只允许覆盖default.php文件,以便绕过此重命名 default_url.php和default_component.php 到 default_url2.php和default_component2.php 确保您位于新创建的模块覆盖目录中,因为编辑原件而不是副本很容易。 打开default.php 在第75行或其附近 将默认url的两个实例都更改为默认url 2 将默认组件更改为默认组件2

// 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、default_url2和default_组件2

// 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;
打开默认组件2.php 基本上,我们需要看看“链接css样式”中是否有字体样式 如果存在,请将样式名称保存在变量中,然后将其从链接css样式中删除。然后,我们可以使用保存的字体和某种样式添加“i”标记。 这是密码 在第13行或其周围更换

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

i、 e

对default_url2.php重复上述步骤。代码的第一部分完全相同,但是default_url中的开关与default_组件不同

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-home”的形式将您的fa样式添加到链接css样式字段
点击保存,打开前端,刷新,宾果

没有相同的结果:无论如何,谢谢你的时间。这是一个问题还是一个教程?
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;
}
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;
}
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;