标签功能是WEB发展的产物,EMLOG当然也具备文章添加标签的功能。而且在EMLOG的侧边栏组件中,用户也可以手动增加该模块。
: X- F- F# S9 [9 v6 y 不过,有一个小小的问题是,侧边栏组件中的标签默认是显示网站所有标签的,如果你的标签过多,势必会影响到网站的美观度。舍力在设计当前网站风格的时候,也在页面的上方设计了一个标签的模块,如果标签数量过多,则会破坏原有的设计。所以舍力就写了一个如下简单的“EMLOG获取网站固定数量标签”的小功能。- <?php // 获取EMLOG固定数量网站标签
$ S- [! B* s3 b! u% X4 H0 [ - function sheli_Tags($num){global $CACHE;$tag_cache = $CACHE->readCache('tags');foreach($tag_cache as $key => $value):if($key < $num):?>
2 r. \( {& ~4 B F0 { - <span><a href="<?php echo Url::tag($value['tagurl']); ?>" title="<?php echo $value['usenum']; ?> 篇文章"><?php echo $value['tagname']; ?></a></span> _, Z0 A4 w+ B2 {. f1 v
- <?php endif;endforeach;}?>
复制代码 如上代码既实现了获取EMLOG网站固定数量标签的功能呢,参数$num即为用户设置的标签个数。使用方法是先将该段代码写在模板文件module.php当中,然后再模板前台文件中写入一行调用该函数的代码即可,如下:( ~& H/ \% b- h+ y: F
<?php sheli_Tags(10);?>
7 D( d6 H$ m6 K把这一段代码写到模板文件中即可实现调用10个网站标签
/ X; J3 ?9 N' m h# B
+ f$ ^, K" c' O W5 I9 z7 j另外,如果希望调用的标签随机显示,则需要使用shuffle()函数进行一次顺序的打乱。函数代码如下,相对于之前来说仅仅只添加了一行代码:- <?php
4 d- c) P8 Q, V. ?; ~6 _0 Q - // 获取EMLOG固定数量网站标签(随机排序)/ G. D/ h7 V$ X% M {& X( ~
- function sheli_Tags($num){global $CACHE;$tag_cache = $CACHE->readCache('tags');
" ?7 `" e" s0 Y. i - shuffle($tag_cache); //添加这行代码实现标签随机排序# |) g2 Y: `, x3 L& h# D& Z
- foreach($tag_cache as $key => $value):if($key < $num):?>
h; U+ v% T& \' H3 Y& R7 [7 A0 R" M - <span><a href="<?php echo Url::tag($value['tagurl']); ?>" title="<?php echo $value['usenum']; ?> 篇文章"><?php echo $value['tagname']; ?></a></span>6 F0 Z# L( o+ ^ {# G! q
- <?php endif;endforeach;}?>
复制代码
3 v+ x+ `4 `3 Pemlog标签太多了,我想让它只显示文章数量较多的标签。具体教程如下;在默认模板的module.php标签函数中找到$tag_cache = $CACHE->readCache('tags');在后面加入代码- foreach ($tag_cache as $key => $row) {- ^& X2 C, `% O
- $usenum[$key] = $row['usenum'];
% [/ t: j% S/ w1 l8 }& G% S/ T. x - }array_multisort($usenum, SORT_DESC, $tag_cache);
复制代码 然后在foreach($tag_cache as $value):后面加入代码- if($value['usenum'] > 5){ //可以更改为大于5的其他数字,控制文章相关数
复制代码 最后在endforeach;的前面加”}“即可!! e8 `$ D' w+ v8 I
|