html,{dede:field name='diyname'/},
`,,2. 在详情页模板中,使用以下代码调用带有链接的tag标签:,,
`html,{dede:field name='typename'/},
`,,请将
diyname和
typename`替换为您的实际字段名称。在织梦CMS(DedeCMS)中,列表页和详情页调用TAG标签并带上链接的方法有多种,以下是两种常见的方法:
方法一:直接在模板中加PHP代码
1、打开模板文件:以默认模板为例,打开/templets/default/list_article.htm
文件。
2、找到相应位置:在文件中找到如下代码:
<small>好评:</small>[field:scores/]
3、添加代码:在上述代码后面加上以下PHP代码:
<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]
4、保存文件:保存修改后的模板文件即可。
方法二:使用自定义函数
1、复制tags.php文件:将网站根目录的tags.php
文件复制到m
文件夹中,并修改里面的路径和模板,找到require_once (dirname(__FILE__) . "/include/common.inc.php");
这行代码,将其改为define('DEDEMOB', 'Y'); require_once (dirname(__FILE__) . "/../include/common.inc.php");
。
2、编写自定义函数:在include/extend.func.php
文件的最下面加入以下代码:
function listtag($aid) { $tsql = new DedeSql(false); $tags = ''; $tsql>SetQuery("Select i.tagname From dede_taglist As t Left Join dede_archivestag As at On t.id = at.tagid Where at.aid = $aid"); $tsql>Execute(); while($row = $tsql>GetArray()) { if ($tags == '') { $tags = '<a href="/tags.php?/'.urlencode($row['tagname']).'/">'.$row['tagname'].'</a>'; } else { $tags .= ', <a href="/tags.php?/'.urlencode($row['tagname']).'/">'.$row['tagname'].'</a>'; } } return $tags; }
3、调用自定义函数:在需要显示标签的地方调用listtag($aid)
函数,其中$aid
为当前文章的ID。
相关问答FAQs
Q1:如何在DedeCMS中实现TAG标签静态化?
A1:实现TAG标签静态化可以通过修改系统设置和模板文件来实现,确保你的站点已经开启了静态化功能,在模板文件中使用静态化的标签调用方式,例如{dede:tag row='30' sort='new' getall='0'}
,这样可以避免每次访问时都动态生成标签内容,提高网站的加载速度。
Q2:如何在DedeCMS中调用当前栏目的TAG标签?
A2:要调用当前栏目的TAG标签,可以使用以下方法:
1、打开include/taglib/taglib_channelunit.lib.php
文件;
2、找到GetTagList
函数,并在其中添加判断条件来筛选出当前栏目的TAG标签;
3、保存文件后,在模板中使用{dede:field name='positionname'/}
标签来调用当前栏目的TAG标签。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1226725.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复