emlog获取友链favicon站标
网站的favicon站标是一个网站的标志,如何为Emlog的友链添加favicon站标呢?
常用的方法是利用一些提供站标的网站:
http://statics.dnspod.cn/proxy_favicon/_/favicon?domain=www.qingzz.cn
http://g.soz.im/http://www.qingzz.cn
上面两个网址是比较常用的,点开看到本站的favicon图标了吧。
首先打开模板的 module.php 文件,找到添加友链的函数 widget_link:
<?php //widget:链接 function widget_link($title){ global $CACHE; $link_cache = $CACHE->readCache('link'); if (!blog_tool_ishome()) return;#只在首页显示友链去掉双斜杠注释即可 ?> <div class="sidebar"> <h3><i class="fa fa-globe mar-r-4"></i><?php echo $title;?></h3> <ul id="link"> <?php foreach($link_cache as $value): ?> <li><a href="<?php echo $value['url']; ?>" title="<?php echo $value['des']; ?>" target="_blank"><?php echo $value['link']; ?></a></li> <?php endforeach; ?> </ul> </div> <?php }?>
其中这一句就是输出友链的一行:
<li><a href="<?php echo $value['url']; ?>" title="<?php echo $value['des']; ?>" target="_blank"><?php echo $value['link']; ?></a></li>
如果用dnspod获取友链favicon,则将这一句代码改为:
<li><img src="http://statics.dnspod.cn/proxy_favicon/_/favicon?domain=<?php echo $value['url']; ?>" onerror="vascript:this.src='http://statics.dnspod.cn/proxy_favicon/_/favicon?domain=default.ico';" width="16" height="16" /><a href="<?php echo $value['url']; ?>" title="<?php echo $value['des']; ?>" target="_blank"><?php echo $value['link']; ?></a></li>
如果用 http://g.soz.im/ ,将代码替换为:
<li><img src="http://g.soz.im/<?php echo $value['url']; ?>/cdn.ico?defaulticon=lightpng" width="16" height="16" /><a href="<?php echo $value['url']; ?>" title="<?php echo $value['des']; ?>" target="_blank"><?php echo $value['link']; ?></a></li>
另一种方法是直接到源站获取站标:
将代码替换为:
<li><img src="<?php echo $value['url']; ?>/favicon.ico" onerror="vascript:this.src='<?php echo TEMPLATE_URL; ?>images/demo.ico';" width="16" height="16" /><a href="<?php echo $value['url']; ?>" title="<?php echo $value['des']; ?>" target="_blank"><?php echo $value['link']; ?></a></li>
注意这种方法需要在模板的images/demo.ico放置一个默认的站标,以防无法正确获取。
点赞4
支持一下