创客云
正在阅读Emlog导航支持添加自定义字体图标Font Awesome-PHP源码网

Emlog导航支持添加自定义字体图标Font Awesome

由于emlog导航机制的原因,直接编辑导航添加fontawesome字体图标调用代码会出现两个问题:导航名称字符太长,超出长度限制;网站前台调用导航时会把字体图标的调用代码转换为html字体,即直接显示代码不显示图标。如果仅仅针对后者可以通过htmlspecialchars_decode()函数解决,但是导航名称太长则行不通。为此,博客吧以emlog默认主题default为例,分享一个可以实现emlog导航添加Font Awesome字体图标的方法。
以emlog默认主题default为例进行说明 1、在主题的module.PHP文件,在导航函数部分找到代码:

<?php echo $value['naviname']; ?>
替换为以下的代码:

<?php list($nav,$fa) = explode('#',$value['naviname']); if(empty($fa)) {echo $nav;}else {echo '<i class="fa '.$fa.'"></i>'.$nav;} ?>
2、找到代码:
<?php foreach ($value['childnavi'] as $row){
	$newtab = $row['newtab'] == 'y' ? 'target="_blank"' : '';
	echo '<li><a href="' . $row['url'] . "\" $newtab >" . $row['naviname'].'</a></li>';}?>

替换为:

<?php foreach ($value['childnavi'] as $row){
	$newtab = $row['newtab'] == 'y' ? 'target="_blank"' : '';?>
        <li><a href="<?php echo $row['url'];?>"<?php echo $newtab;?>><?php list($nav,$fa) = explode('#',$row['naviname']); if(empty($fa)) {echo $nav;}else {echo '<i class="fa '.$fa.'"></i>'.$nav;} ?></a></li><?php }?>
注意:每个主题作者的编码习惯不同,请参考上面的代码调整。 3、在后台——导航,编辑要添加字体图标的菜单,在导航名称后面添加符号#再添加字体图标名称即可,如下图所示:

Emlog导航支持添加自定义字体图标Font Awesome
其中fa-home是Font Awesome字体图标的名称。