/include/arc.listview.class.php
文件中的GetListSql()
函数里,添加如下代码:,,“php,if($this>fields['typeid']) {, $tids = explode(',', $this>fields['typeid']);, $tagids = array();, foreach ($tids as $k => $v) {, $row = $this>dsql>GetOne("SELECT id,name FROM #@__tag WHERE typeid='$v'");, if ($row) {, $tagids[] = $row['id'];, }, }, if (count($tagids)) {, $tagids = implode(',', $tagids);, $tempstr .= " AND a.id IN (SELECT aid FROM #@__archives_tag WHERE tagid IN ($tagids))";, },},
`,,2. 在
/include/arc.archives.class.php文件中的
GetResultUrl()函数里,添加如下代码:,,
`php,if($this>TagId) {, $row = $this>dsql>GetOne("SELECT name FROM #@__tag WHERE id='$this>TagId'");, if ($row) {, $this>Fields['tag'] = ''.$row['name'].'';, } else {, $this>Fields['tag'] = '';, },},
`,,3. 在模板文件(如
/templets/default/list_article.htm和
/templets/default/article_article.htm)中,使用
[field:tag/]`标签来调用tag标签。实现方法
列表页调用TAG标签并带上链接的方法
1、打开模板文件:以默认模板为例,打开/templets/default/list_article.htm
找到<small>好评:</small>[field:scores/]
。
2、添加代码:在其后加上如下代码:
“`html
<small>标签:</small>
[field:id runphp=’yes’]
global $cfg_cmspath;
$tags = GetTags(@me);
$revalue = ”;
$tags = explode(‘,’, $tags);
foreach($tags as $key => $value){
if($value){
$revalue .= ‘<a href="’.$cfg_cmspath.’/tags.php?/’.$value.’/">’.$value.'</a> ‘;
}
}
@me = $revalue;
[/field:id]
“`
3、保存修改:保存后即可实现在列表页调用TAG标签并带上链接的效果。
4、代码解释:这里运用了三个知识点:
使用自带的GetTags
函数获取文档对应的TAG列表;
将获取到的值以半角符号的逗号 (,
) 为标准拆分为数组;
循环数组元素,将其对应的值输出并加上链接;
为了更好的兼容,这里也用global $cfg_cmspath;
方法加载了系统基本参数里中的程序安装目录,用于在附加链接时自动兼容安装到子目录的站点。
详情页调用TAG标签并带上链接的方法
1、打开模板文件:以默认模板为例,打开/templets/default/article_article.htm
找到需要的位置。
2、添加代码:在合适位置加上如下代码:
“`html
{dede:field name=’id’ function=’getmeurl(@me)’/}
[field:id runphp=’yes’]
global $cfg_cmspath;
$tags = GetTags(@me);
$revalue = ”;
$tags = explode(‘,’, $tags);
foreach($tags as $key => $value){
if($value){
$revalue .= ‘<a href="’.$cfg_cmspath.’/tags.php?/’.$value.’/">’.$value.'</a> ‘;
}
}
@me = $revalue;
[/field:id]
“`
3、保存修改:保存后即可实现在详情页调用TAG标签并带上链接的效果。
4、代码解释:同样运用了三个知识点:
使用自带的GetTags
函数获取文档对应的TAG列表;
将获取到的值以半角符号的逗号 (,
) 为标准拆分为数组;
循环数组元素,将其对应的值输出并加上链接;
为了更好的兼容,这里也用global $cfg_cmspath;
方法加载了系统基本参数里中的程序安装目录,用于在附加链接时自动兼容安装到子目录的站点。
FAQs
问题一:如何在DEDECMS中调用当前栏目的TAG标签?
答:在DEDECMS中调用当前栏目的TAG标签,可以通过以下步骤实现:
1、打开模板文件:以默认模板为例,打开/templets/default/list_article.htm
。
2、添加代码:在合适位置加上如下代码:
“`html
{dede:field name=’id’ function=’getmeurl(@me)’/}
“`
3、保存修改:保存后即可实现在列表页调用当前栏目TAG标签的效果。
4、代码解释:通过{dede:field name='id' function='getmeurl(@me)'/}
调用当前文档的ID,然后结合GetTags
函数获取对应的TAG标签。
问题二:如何设置DedeCMS 5.7系统的TAG标签伪静态?
答:要设置DedeCMS 5.7系统的TAG标签伪静态,可以按照以下步骤操作:
1、打开配置文件:找到并打开include/helpers/archive.helper.php
文件。
2、修改代码:找到第130行左右的代码$tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
,将其修改为$tags .= "<a href='".$cfg_cmspath."/tags.php?/".$row['tag']."/'>".$row['tag']."</a>";
。
3、保存修改:保存文件后即可实现TAG标签伪静态的效果。
4、代码解释:通过修改archive.helper.php
文件中的代码,将原本不带链接的TAG标签转换为带链接的形式,从而在前端展示时能够点击跳转。
在DedeCMS中,若要同时为列表页和详情页的调用标签加上链接,您可以使用以下步骤:
1. 列表页调用标签添加链接
步骤:
1、定义链接地址:
在模板中,您首先需要定义一个变量来存储链接地址。
“`html
{dede:field name=’arcurl’/} <!获取文章的URL >
“`
2、添加链接标签:
使用HTML的<a>
标签来为调用标签添加链接,如果要在文章标题上添加链接,可以这样写:
“`html
<a href="{dede:field name=’arcurl’/}">{dede:field title/}</a>
“`
3、调用标签:
在调用文章列表的地方,使用您想要的调用标签,并将其包裹在<a>
标签内。
“`html
<a href="{dede:field name=’arcurl’/}">
{dede:field title/} <!这里使用标题调用标签 >
</a>
“`
2. 详情页调用标签添加链接
步骤:
1、定义详情页链接:
在详情页模板中,您可能需要将当前页面的URL赋值给一个变量,以便在调用标签时使用。
“`html
<a href="{dede:global name=’dede_weburl’/}{dede:field name=’arcurl’/}">{dede:field title/}</a>
“`
2、调用标签:
在详情页模板中,您可以直接在调用标签前添加<a>
标签,如果要在文章标题上添加链接:
“`html
<a href="{dede:global name=’dede_weburl’/}{dede:field name=’arcurl’/}">
{dede:field title/} <!使用标题调用标签 >
</a>
“`
代码示例:
列表页模板示例:
<ul> {dede:arclist row="10" titlelen="20"} <li> <a href="{dede:field name='arcurl'/}"> {dede:field title/} </a> </li> {/dede:arclist} </ul>
详情页模板示例:
<h1> <a href="{dede:global name='dede_weburl'/}{dede:field name='arcurl'/}"> {dede:field title/} </a> </h1>
通过以上步骤,您可以在DedeCMS的列表页和详情页上为调用标签添加链接,请根据实际需求调整模板代码。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1156296.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复