插件简介
大家知道Typecho的标签数据其实和分类用的是同一个表,但是默认只能按照标签的 mid(或标签量)的正反序输出,当博客中创建了很多标签后,标签云的效果就显得比较混乱。插件作者受到启发后写了这个tagCat插件实现按照自定义的分类输出,还可以隐藏不想显示的标签。
实现的原理:分类和标签都具有 order 字段,用于排序,而标签的 order 字段默认被闲置了,所以,把它用起来。
A 涉及文件
var/Widget/Metas/Tag/Edit.php
B 改造文件
作用:给标签云新增分类功能。
打开文件 var/Widget/Metas/Tag/Edit.php 替换两处、新增两处代码: 1. 搜索找到以下代码,有两处: $tag = $this->request->from('name', 'slug' 2. 将以上两处代码都替换为以下代码: $tag = $this->request->from('name', 'slug', 'order' 3. 搜索找到以下代码: $form->addInput($slug); 4. 在以上代码的下一行,添加以下代码: /** 标签分类 */ $order = new Form\Element\Radio( 'order', [ '0' => _t('默认'), '1' => _t('年份'), // 可自定义标签分类名称 '2' => _t('城市'), // 可自定义标签分类名称 '3' => _t('作者'), // 可自定义标签分类名称,以此类推,可以继续新增 4、5、6…… 个标签分类,需与调用输出的数量对应 ], '0', _t('标签分类'), _t('此功能用于分类标签, 在特定调用中它会被显示.') ); $form->addInput($order); 5. 搜索找到以下代码: $slug->value($meta['slug']); 6. 在以上代码的下一行,添加以下代码: $order->value($meta['order']); 至此,在后台》管理》标签,已经可以看到(标签分类)的功能选项,点击每个标签的编辑按键(铅笔状图标)后,给对应的标签添加分类,提交即可。
C 调用输出
- 在需要呈现标签云的文件适当位置,添加以下代码:
<?php $this->widget('Widget_Metas_Tag_Cloud@tagCat', 'ignoreZeroCount=true')->to($tagCat); //关键代码已隐藏 ?>
阅读全文
只发精品!只发精品!拒绝标题党、滥竽充数,浪费时间=谋财害命!【点此查看VIP项目汇总】凡是本站会员专属项目开通VIP后即可免费下载【点此开通】加入VIP免费下载全站价值超10万以上精选项目课程,一网尽收!小小投入,大大回报!💰💰💰
🔺本站仅提供资源收集与展示,内容的真实性与有效性请自行甄别,本站不承担相关责任!
🔺本站仅提供资源收集与展示,内容的真实性与有效性请自行甄别,本站不承担相关责任!