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

时间:2016-10-31 ┊ 阅读:6,505 次 ┊ 标签: 博客 , 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; ?>

文章评论

添加新评论

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

相关文章

最新iTunes自动更新iOS固件位置

最新iTunes自动更新iOS固件位置

今年把破手机升级到iOS14尝鲜 然后不爽,降回iOS13过程中,白苹果了 然后怀疑自己的固件下载的可能不是在官网下载 就找呀找,md苹果官网压根找不到下载地方了 无奈呀 手机白苹果不停的重启,进不了系统 看着心烦 虽然是个备用机,也不能就此打住 然后只能靠iTunes在DFU模式下重新更新 ...
阅读全文>>
好久不弄代码,求急之下改了一本老程序

好久不弄代码,求急之下改了一本老程序

前两天着急情况下改写了一本老程序 嗯,RPG程序 几十年前写的程序 实现的东西很简单,原来画面上展现的一个表,现在需要批量的打印出来给业务看 我需要把所有画面功能隐藏 我直接把原生代码copy到自己lib里 然后把所有和画面相关元素删除 入口参数删除 清理掉所有无用数据文件 清理掉为画面定义的...
阅读全文>>
新电脑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标...
阅读全文>>