emlog标签优化【转】
首页 > IT > Other   作者:eehello  2015年5月19日 23:20 星期二  浏览:5122  字号:   评论:0 条
时间:2015-5-19 23:20   浏览:5122  评论:0 条 

emlog的标签存在着几个不好的地方:     1、标签数量没有限制,如果有200个标签的话,是不是要延伸到桌子底下呢?2、标签使用次数越多字体越大,严重影响美观。3、标签颜色单一缺乏美观。
    数量优化:emlog使用缓存的方法,事先将全部标签存放在\content\cache\tags缓存文件中,读取的时候使用模板中的$tag_cache = $CACHE->readCache('newtags')读取。

    1.找到\include\lib\cache.php并打开
    2.找到private function mc_tags()函数

你会发现他的sql语句是将你设置的所有标签全部查询出来,如果你的标签设置很多时候,打开一次就查询一次,显然不好。所以将他改为每次随机查询28个标签出来,让他放到缓存文件中。
    3.将$query = $this->db->query("SELECT gid FROM " . DB_PREFIX . "tag");改为$query = $this->db->query("SELECT gid FROM " . DB_PREFIX . "tag  ORDER BY RAND() LIMIT 28");
    4.将$query = $this->db->query("SELECT tagname,gid FROM " . DB_PREFIX . "tag");改为$query = $this->db->query("SELECT tagname,gid FROM " . DB_PREFIX . "tag ORDER BY RAND() LIMIT 28");

这样每次显示出来的标签都是随机抽出来的28个,当然这个数字你可以自己改,你想显示多少就改成多少,而且你可以通过更改查询条件来指定你要显示的标签,比如你如果想显示的28个标签不是随机的,而是你最新的28个,只需要将tag ORDER BY后面查询条件改为:
DESC LIMIT 0,28这样就行了。

字体优化:
找到module.php文件,

<?php
//widget:标签
function widget_tag($title){
global $CACHE;
$tag_cache = $CACHE->readCache('tags');?>
<li>
<h3><span><?php echo $title; ?></span></h3>
<ul id="blogtags">
<?php foreach($tag_cache as $value): ?>
  <span style="font-size:<?php echo $value['fontsize']; ?>pt; line-height:30px;">
  <a href="<?php echo [url=http://www.eehello.com/admin/:tag($value[]Url::tag($value['tagurl'[/url]]); ?>" title="<?php echo $value['usenum']; ?> 篇日志"><?php echo $value['tagname']; ?></a></span>
<?php endforeach; ?>
</ul>
</li>
<?php }?>
将<span style="font-size:<?php echo $value['fontsize']; ?>pt; line-height:30px;">改成<span style="font-size:12px; line-height:25px;">

可以修改那两个数字12和25来找到适合自己的效果

颜色优化:
接上一步,把颜色也优化一下。可以把代码变成:

<?php
//widget:标签
function widget_tag($title){
global $CACHE;
$tag_cache = $CACHE->readCache('tags');?>
<li>
<h3><span><?php echo $title; ?></span></h3>
<ul id="blogtags">
<?php foreach($tag_cache as $value):$color = dechex(rand(-2048,25600)); ?>
  <span style="font-size:12px; line-height:25px;">
  <a href="<?php echo [url=http://www.eehello.com/admin/:tag($value[]Url::tag($value['tagurl'[/url]]); ?>" title="<?php echo $value['usenum']; ?> 篇日志" style="color:#<?php echo $color;?>"><?php echo $value['tagname']; ?></a></span>
<?php endforeach; ?>
</ul>
</li>
<?php }?>
注意我写的黄色区域,这是决定颜色属性的地方,dechex(rand(-2048,25600)); 里面的数字决定着颜色的变化范围。这里面的数字是10进制的。一般的颜色都是用16进制表示,转化一下,就好了。

 您阅读这篇文章共花了: 
 本文没有标签!
二维码加载中...
本文作者:eehello      文章标题: emlog标签优化【转】
本文地址:https://www.eehello.com/?post=153
版权声明:若无注明,本文皆为“点滴记忆---观雨亭”原创,转载请保留文章出处。

返回顶部| 首页| 手气不错| 留言板|后花园

Copyright © 2014-2023 点滴记忆---观雨亭