dede TAG标签内容页按栏目显示怎么做?

做TAG标签内容页,默认模板是按照时间热度划分的,我想按栏目区分开怎么做呢?例如下面的样子:———————TAG标签内容页————————栏目1:栏目1标签a栏目1标签b... 做TAG标签内容页,默认模板是按照时间热度划分的,我想按 栏目 区分开怎么做呢?
例如下面的样子:
———————TAG标签内容页————————
栏目1:
栏目1标签a 栏目1标签b 栏目1标签c

栏目2:
栏目2标签a 栏目2标签b 栏目2标签c

栏目3:
栏目3标签a 栏目3标签b 栏目3标签c
——————————————————————
网上说的在tag.lib.php里加
else if($getall==2)
{
$addsql = " where typeid='{$refObj->Fields['typeid']}' ";
}
我试过这个只能调用出来第一个栏目的标签,下面的都不显示。
展开
 我来答
魂梦乐天
推荐于2016-04-06 · TA获得超过354个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:117万
展开全部
一、打开include/taglib/目录下的 tag.lib.php 文件
找到下面这段代码,并在中间插入标注部分代码
if($getall==0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid']))
{
$dsql->SetQuery("Select tid From `ddmx_taglist` where aid = '{$refObj->Fields['aid']}' ");
$dsql->Execute();
$ids = '';
while($row = $dsql->GetArray())
{
$ids .= ( $ids=='' ? $row['tid'] : ','.$row['tid'] );
}
if($ids != '')
{
$addsql = " where id in($ids) ";
}
if($addsql=='') return '';
}

else if($getall==2)
{
$addsql = " where typeid='{$refObj->Fields['typeid']}' ";
}
else
{
if(!empty($typeid))
{
$addsql = " where typeid='$typeid' ";
}
二、修改你的模板
模板调用如下:
{dede:tag sort='hot' getall='2'}
<a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}
搞定
追问
是过,和上面的一样,只能显示第一个栏目里的。其余的不显示
追答
{dede:sql sql="select * from #@__archives a left join #@__taglist t on a.id=t.aid where a.typeid=2 limit  10 "}
[field:tag /] | {/dede:sql}

这里:typeid=2 是你的栏目ID,根据自己需要写,,limit 10 是tag的条数。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
81908481
2014-10-11 · 超过56用户采纳过TA的回答
知道小有建树答主
回答量:431
采纳率:100%
帮助的人:113万
展开全部
是不是要查所有的表,呢,

TAG是根据词来生成,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式