Tinkphp彩色标签Tags的实现方法
我们浏览网页时经常看到眩目的彩色标签,而且每刷新一下浏览器,都会更新为不同的颜,是不是很“惊艳”?现在来看一下它在Thinkphp上的现实方法。
项目函数库的位置:项目\Common\common.php
项目函数库加入以下处理函数
function rcolor(){
$rand = rand(0,255);//随机获取0--255的数字
return sprintf("%02X","$rand");//输出十六进制的两个大写字母
}
function rand_color(){
return '#'.rcolor().rcolor().rcolor();//六个字母
}
在控制器加入获取标签列表的方法
//标签控制器查询标签表以获取标签列表
function Tags($Module) {
$Tag = M('Tag');
$map['module']= $Module;
$Tagslist = $Tag->where($map)->field('id,name,count')->order('count desc')->limit('0,25')->select();
$this->assign('tags', $Tagslist);
$this->display();
}
把标签列表输出在模板上
<volist id="vo" name="tags" >
<li>
<a href="{:U('/web','tag='.$vo['name']|urlencode)}">
<span style="font-size:{color:{$vo.id|rand_color}"> {$vo.name}[{$vo.count}]</span>
</a>
</li>
</volist>
说明:{$vo.id|rand_color}为调用项目函数库的“ rand_color()”方法