织梦5.7的tag标签调用好,那这个tag标签的链接到的页面dede是自己生成的啊,还是要自己做的啊?

2024-12-30 19:36:51
推荐回答(1个)
回答1:

方法/步骤
1、接下来先介绍一下dede5.7版本的该加入什么文件
要在ftp里面上传include\helpers\archive.helper.php
(注:有朋友会疑问,主页和频道、列表应该加的是不同的调用,不过本人开始用列表页测试,成功;加入主页后测试也是成功显示的,所以我就没再继续深究下去了。以下有我添加生成后成功的图片,仅供参考!)
(这个文件的内容更改,在后台文件是更改不了的,提示是注入sql,所以要在ftp中找到这个文件进行更改才行。不成功删除即可。)

底部增加:
function GetTags_list($aid)
{
global $dsql;
$tags = '';
$query = "SELECT tag FROM `#@__taglist` WHERE aid='$aid' ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$tags .= ($tags=='' ? "".$row['tag']."" : ','."".$row['tag']."");

}
return $tags;
}

文章需要位置调用:
[field:id function=GetTags_list(@me)/]

2、这个是dede5.6版本的列表页调用tag的方法
方法一:直接在模板需要的位置加入以下代码即可(注:这一步dede5.7版本里面实现不了)
[field:id runphp=yes]
$tsql = new DedeSql(false);
$tags = ”;
$tsql->SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’@me’”);
$tsql->Execute(‘t’);
while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){
$tags .= “”.$row['tag'].””;
}
@me=$tags;
[/field:id]
方法二:打开dedecms根目录include/common.func.php
(这个文件代码dede5.7加入后网站和后台是打不开的,需要删除才能打开。
不过网络上有朋友说需要更改里面的SQL名称,这个本人就没时间深究,有兴趣的朋友可以研究下,然后像我这样给大家分享分享!)
在最底部 ?> 前面加入以下代码:
//NI9HT:列表页调用tag的方法
function listtag($aid)
{
$tsql = new DedeSql(false);
$tags = ”;
$tsql->SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’$aid’”);
$tsql->Execute(‘t’);
while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){
$tags .= “”.$row['tag'].” “;
}
return $tags;
}
{dede:field.id runphp=yes}
$tsql = new DedeSql(false);
$tags = ”;
$tsql->SetQuery(“Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’@me’”);
$tsql->Execute(‘t’);
while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){
$tags .= “”.$row['tag'].””;
}
@me=$tags;
{/dede:field.id}

添加代码后,在文章页可以使用
{dede:field.id function=”listtag(@me)”/}
来调用tag标签。
方法三:在inc_functions.php文件里加入(注:这个方法也有朋友使用成功,文件是在include文件中,不过本人在dede5.7中找不到该文件,应该只有dede5.6以下的版本才有。)

function listtag($aid){
$tsql = new DedeSql(false);
$tags = '';
$tsql->SetQuery("Select i.tagname From xkzzz_tag_list t left join xkzzz_tag_index i on i.id=t.tid where t.aid='$aid'");
$tsql->Execute('t');
while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
$tags .= "".$row['tagname']."";
}
return $tags;
}

然后在列表页相应位置加入
[field:ID function="listtag(@me)"/]标记
二、网页模板随机调用tag。直接加入以下代码,修改成自己所需的即可。
{dede:tag row='50' getall='1' sort='month'}
[field:tag /]{/dede:tag}
三、附加:下面是其他版块的调用代码
分别是:dede最新tag标签调用方法,dede当月热门tag标签调用方法, dede随机tag标签调用方法, dede内容页tag添加调用方法等等.

dede最新tag标签

{dede:tag row='30' sort='new'} [field:highlight/]([field:result/]) {/dede:tag}



dede当月热门tag标签

{dede:tag row='30' sort='month'} [field:tagname/]([field:result/]) {/dede:tag}



dede随机tag标签

{dede:tag row='60' sort='rand'} [field:highlight/]([field:result/]) {/dede:tag}



dede文章内容页tag添加

{dede:tag type='current'/}