EMLOG获取固定数量的网站标签方法-站长杂谈下载

EMLOG获取固定数量的网站标签方法

来自版块: 站长杂谈发表于: 2015-8-17 12:02:48
38502
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
   标签功能是WEB发展的产物,EMLOG当然也具备文章添加标签的功能。而且在EMLOG的侧边栏组件中,用户也可以手动增加该模块。
+ B  V2 K& s0 z5 [1 e. s9 a    不过,有一个小小的问题是,侧边栏组件中的标签默认是显示网站所有标签的,如果你的标签过多,势必会影响到网站的美观度。舍力在设计当前网站风格的时候,也在页面的上方设计了一个标签的模块,如果标签数量过多,则会破坏原有的设计。所以舍力就写了一个如下简单的“EMLOG获取网站固定数量标签”的小功能。
  1. <?php // 获取EMLOG固定数量网站标签. u5 v& E6 G3 B$ r
  2. function sheli_Tags($num){global $CACHE;$tag_cache = $CACHE->readCache('tags');foreach($tag_cache as $key => $value):if($key < $num):?>2 M0 Y" ?$ p; O' \/ q! x3 R1 `
  3. <span><a href="<?php echo Url::tag($value['tagurl']); ?>" title="<?php echo $value['usenum']; ?> 篇文章"><?php echo $value['tagname']; ?></a></span>) B  R% c; U3 }% a- \! @, X$ k
  4. <?php endif;endforeach;}?>
复制代码
如上代码既实现了获取EMLOG网站固定数量标签的功能呢,参数$num即为用户设置的标签个数。使用方法是先将该段代码写在模板文件module.php当中,然后再模板前台文件中写入一行调用该函数的代码即可,如下:5 q- l/ L$ G" X" T9 b
<?php  sheli_Tags(10);?>
) w4 R/ o( [  [6 X把这一段代码写到模板文件中即可实现调用10个网站标签
* {$ n+ S- V3 S9 z: {" z1 M5 J' i2 }6 h4 Y) @5 a
另外,如果希望调用的标签随机显示,则需要使用shuffle()函数进行一次顺序的打乱。函数代码如下,相对于之前来说仅仅只添加了一行代码:
  1. <?php( d# L# a4 o) w3 V$ @7 l/ c' J& j
  2. // 获取EMLOG固定数量网站标签(随机排序)
    7 h* `: E( W" t6 ^9 r
  3. function sheli_Tags($num){global $CACHE;$tag_cache = $CACHE->readCache('tags');
    7 Z$ f; j9 ~) a
  4. shuffle($tag_cache); //添加这行代码实现标签随机排序0 W/ M* T, v5 _8 m. y
  5. foreach($tag_cache as $key => $value):if($key < $num):?>  S$ g, g5 j7 }4 O
  6. <span><a href="<?php echo Url::tag($value['tagurl']); ?>" title="<?php echo $value['usenum']; ?> 篇文章"><?php echo $value['tagname']; ?></a></span>- }6 W1 O# O" e' V
  7. <?php endif;endforeach;}?>
复制代码

$ P7 g: o+ L1 D1 s# E' qemlog标签太多了,我想让它只显示文章数量较多的标签。具体教程如下;在默认模板的module.php标签函数中找到$tag_cache = $CACHE->readCache('tags');在后面加入代码
  1. foreach ($tag_cache as $key => $row) {9 b. }$ n: L4 b7 e$ B' A
  2. $usenum[$key]  = $row['usenum'];
    , f- f! X( f2 X# I+ S
  3. }array_multisort($usenum, SORT_DESC, $tag_cache);
复制代码
然后在foreach($tag_cache as $value):后面加入代码
  1. if($value['usenum'] > 5){ //可以更改为大于5的其他数字,控制文章相关数
复制代码
最后在endforeach;的前面加”}“即可!% \% o3 M1 J+ U5 f

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部