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

 我来答
段瑾琳Dp
2016-05-09 · TA获得超过596个赞
知道小有建树答主
回答量:866
采纳率:0%
帮助的人:321万
展开全部
方法/步骤
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=='' ? "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>" : ','."<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>");

}
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 .= “<a href=’/tag.php?/”.urlencode($row['tag']).”‘>”.$row['tag'].”</a>”;
}
@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 .= “<a href=’/tags.php?/”.urlencode($row['tag']).”/’>”.$row['tag'].”</a> “;
}
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 .= “<a href=’/tag.php?/”.urlencode($row['tag']).”‘>”.$row['tag'].”</a>”;
}
@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 .= "<a href='/tag.php?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>";
}
return $tags;
}

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

<p>dede最新tag标签<br />
{dede:tag row='30' sort='new'} [field:highlight/]([field:result/]) {/dede:tag}</p>

<p>dede当月热门tag标签<br />
{dede:tag row='30' sort='month'} [field:tagname/]([field:result/]) {/dede:tag}</p>

<p>dede随机tag标签<br />
{dede:tag row='60' sort='rand'} [field:highlight/]([field:result/]) {/dede:tag}</p>

<p>dede文章内容页tag添加<br />
{dede:tag type='current'/}
追问

像马海祥这样的tag页面是dede自己生成的,还是要重新做一个这样的页面啊

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式