Typecho主题/插件开发教程汇聚地

标签 标签云 下的文章

同样是为主题开发者准备的精华,刚需吧!这是对typecho模板边栏标签云代码的解析。
typecho标签云调用代码

<div class="widget">
<h3><?php _e('热门标签'); ?></h3>
<ul class="cate">
<?php $this->widget('Widget_Metas_Tag_Cloud', array('sort' => 'count', 'ignoreZeroCount' => true, 'desc' => true, 'limit' => 20))->to($tags); ?>  
<?php while($tags->next()): ?>  
<li><a rel="tag" href="<?php $tags->permalink(); ?>"><?php $tags->name(); ?></a></li>
<?php endwhile; ?>
<div class="clear"></div>
</ul>
</div>

解析一下大致意思如下:

'sort' => 'count'    应该是表示按标签数量排序;
'ignoreZeroCount' => true    应该是表示过滤掉数量为0的空标签;
'limit' => 20    应该是表示调用标签数量为20个;

至于标签云调用请看如下代码:

<div class="widget">
<h3><?php _e('所有标签'); ?></h3>
<ul class="cate">
<?php $this->widget('Widget_Metas_Tag_Cloud')->to($tags); ?>  
<?php while($tags->next()): ?>  
<li><a rel="tag" href="<?php $tags->permalink(); ?>"><?php $tags->name(); ?></a></li>
<?php endwhile; ?>
<div class="clear"></div>
</ul>
</div>

不少博客都有彩色标签云功能,羡煞旁人,其实这个typecho也是可以实现,只需要在需要显示彩色标签云的地方添加以下代码即可,例如需要在边栏添加,则把下面这段代码添加到主题的sidebar.php文件末尾。

<?php Typecho_Widget::widget('Widget_Metas_Tag_Cloud')->to($tags); ?>
<?php if($tags->have()): ?>
<?php while ($tags->next()): ?>
<a style="color:rgb(<?php echo(rand(0,255)); ?>,<?php echo(rand(0,255)); ?>,
<?php echo(rand(0,255)); ?>)" href="<?php $tags->permalink();?>">
<?php $tags->name(); ?></a>
<?php endwhile; ?>
<?php endif; ?>