同一页面typecho多次输出标签时参数失效问题[php]

时间:2016-10-31 ┊ 阅读:983 次 ┊ 标签: 博客 , Typecho , 标签

主题改版后发现了一个问题,我在主页的导航栏用的是标签,输出12个标签(按标签下文章数量排序,文章最多的12个标签),最近加了个侧边栏并在侧边栏里加了标签云的效果,这儿输出30个标签(标签总数大于12个小于30个的),但无论怎么改参数,侧边栏的标签云输出的标签个数始终和导航栏标签数一致,好像用的是同一个输出。

我试着把侧边栏标签云的输出用的数组变量改名,改变不了数量,第二次引用的标签数总会和第一次引用的一样!不论第二次引用时limit数改为多少。

去typecho的github提问也没有人回答,后来在SegmentFault上提问才得知是typecho的内置功能,具体代码今天终于有空翻腾一会代码,找到了如下别名的几句,原来是这样处理的。

var/Typecho/Widget.php

$parts = explode('@', $alias);
$className = $parts[0];
$alias = empty($parts[1]) ? $className : $parts[1];

导航代码:

<?php $this->widget('Widget_Metas_Tag_Cloud', array('sort' => 'count', 'ignoreZeroCount' => true, 'desc' => true, 'limit' => 12))->to($tags); ?>  
            <?php while($tags->next()): ?>  
            <li><a rel="tag" href="<?php $tags->permalink(); ?>"  title="<?php $tags->name(); ?>"><?php $tags->name(); ?></a></li>
            <?php endwhile; ?>

侧边栏标签云代码:

<?php $this->widget('Widget_Metas_Tag_Cloud', 'ignoreZeroCount=1&limit=30')->to($tags); ?>
                    <ul>
                    <?php while($tags->next()): ?>
                        <li><a style="color: rgb(<?php echo(rand(0, 255)); ?>, <?php echo(rand(0,255)); ?>, <?php echo(rand(0, 255)); ?>)" href="<?php $tags->permalink(); ?>" target="_blank"><?php $tags->name(); ?></a></li>
                    <?php endwhile; ?>

修改方法:在widget里后面加上@任意不同字符串即可,内置功能,有空再翻腾源码找找为什么吧,现在先这样改了好用了就好。

导航代码:

<?php $this->widget('Widget_Metas_Tag_Cloud@nav', array('sort' => 'count', 'ignoreZeroCount' => true, 'desc' => true, 'limit' => 12))->to($tags); ?>  
            <?php while($tags->next()): ?>  
            <li><a rel="tag" href="<?php $tags->permalink(); ?>"  title="<?php $tags->name(); ?>"><?php $tags->name(); ?></a></li>
            <?php endwhile; ?>

侧边栏标签云代码:

<?php $this->widget('Widget_Metas_Tag_Cloud@bar', 'ignoreZeroCount=1&limit=30')->to($tags); ?>
                    <ul>
                    <?php while($tags->next()): ?>
                        <li><a style="color: rgb(<?php echo(rand(0, 255)); ?>, <?php echo(rand(0,255)); ?>, <?php echo(rand(0, 255)); ?>)" href="<?php $tags->permalink(); ?>" target="_blank"><?php $tags->name(); ?></a></li>
                    <?php endwhile; ?>

文章评论

添加新评论

温馨提醒:如果您是第一次在本站留言,需要审核后才能显示哦!

相关文章

新电脑T480开始使用,全面进入win10时代

新电脑T480开始使用,全面进入win10时代

今天对于我是个好日子,终于换掉了自己用了10年的T400,尽管升级了内存换了SSD硬盘,但总感觉太老了需要换一台新电脑了。 T480,2k屏,256G SSD+500G机械双硬盘版本。 心情十分美丽,一切正常。拷贝文件进入秒传时代。 全新的win10系统,用一段时间后慢慢开始适应起来,真的可以...
阅读全文>>
新Macbook Pro上手使用感受笔记[心情]

新Macbook Pro上手使用感受笔记[心情]

今天用上了新的有touchbar的苹果本,心情十分的美丽。 作为一个屌丝程序员,苹果本一直只能是一个梦想,当然现在也还是一个梦想。用上了不过不是我的,只能用用,哈哈,已经很满足啦。 看下本子配置: Model Name: MacBook Pro Model Identifier: MacB...
阅读全文>>
博客主题大装修了[theme]

博客主题大装修了[theme]

一直想着有空得更改一下样式,就是css的事儿,边学边用吧,好在有度娘。 原来的主题实在太简单了,随着博文的增加搜索功能迫在眉睫,终于在这个十一期间得空修改了一翻,叮当叮当一阵忙碌后,成效很明显,主页不是简单的几篇文章列表了,增加了搜索功能,极简的搜索框,只要输入内容回车即可;增加了酷酷的3d标...
阅读全文>>
Typecho博文浏览次数统计插件Stat和Views比较[php]

Typecho博文浏览次数统计插件Stat和Views比较[php]

一直用的Views这个插件来统计博文浏览次数,近期发现好多博主推荐使用Stat这个插件。不知道这两个插件有什么不同,仔细看了插件的代码,发现功能还是有点儿不同的。 共同点: 肯定都能统计博文的浏览次数了,插件使用代码有点儿区别: 前者使用下面代码: <?php $this->vie...
阅读全文>>
typecho开启安全链接后注意修改以前图片链接地址[https]

typecho开启安全链接后注意修改以前图片链接地址[https]

博客开启安全链接后,今天无意中发现一个小问题,以前发布的博文有的竟然还显示为非安全。具体反应为,谷歌浏览器地址栏小绿锁变为小i图标,点开进去。显示如下: 点开console栏,有如下警告提示: Mixed Content: The page at 'https://www.amkevin.c...
阅读全文>>