/include/arc.listview.class.php
文件中的GetTopTypeLink()
函数里添加如下代码:,,“php,$tagid = $this>Fields['tagid'];,if ($tagid) {, $query = "SELECT tag, COUNT(*) as num FROM
#@__taglist WHERE id IN ($tagid) ORDER BY num DESC";, $dsql>SetQuery($query);, $result = $dsql>Execute();, while ($row = $dsql>GetObject()) {, $tags[] = ''.$row>tag.'';, }, $tags = implode(',', $tags);, $this>Fields['tag'] = $tags;,} else {, $this>Fields['tag'] = '';,},
“,,这段代码会在文章列表页显示文章对应的标签。修改GetTags函数
1、打开文件:
找到并打开include/common.func.php
文件。
定位到大约第755行,找到以下代码:
“`php
function GetTags($aid) {
global $dsql;
$tags = ”;
$query = "Select tag Fromtf_taglist
where aid=’$aid’ ";
$dsql>Execute(‘tag’,$query);
while($row = $dsql>GetArray(‘tag’)){
$tags .= ($tags==” ? $row[‘tag’] : ‘,’.$row[‘tag’]);
}
return $tags;
}
“`
2、修改代码:
将上述代码修改为:
“`php
function GetTags($aid) {
global $dsql;
$tags = ”;
$query = "Select tag Fromdede_taglist
where aid=’$aid’ ";
$dsql>Execute(‘tag’,$query);
while($row = $dsql>GetArray(‘tag’)){
$tags .= ($tags==” ? "<a href=’/tags.php?/{$row[‘tag’]}’>{$row[‘tag’]}</a>" : ‘,’."<a href=’/tags.php?/{$row[‘tag’]}’>{$row[‘tag’]}</a>");
}
return $tags;
}
“`
3、保存并关闭文件:
保存对include/common.func.php
的修改,然后关闭文件。
4、更新模板:
在需要调用带链接标签的位置添加以下代码:
“`html
[field:id function=GetTags(@me)/]
“`
方法二:使用runphp属性
1、打开模板文件:
找到并打开templets/default/list_article.htm
文件。
2、定位到列表位置:
在列表中需要显示标签的位置,添加以下代码:
“`html
[field:id runphp=’yes’]
$tsql = new DedeSql(false);
$tags = ”;
$tsql>SetQuery("Select i.tag Fromtf_taglist
t left jointf_tagindex
i on i.id=t.tid where t.aid=’@me’");
$tsql>Execute(‘t’);
while($row = $tsql>GetArray(‘t’,MYSQL_ASSOC)){
$tags .= "<a href=’/tags.php?/".urlencode($row[‘tag’])."’>".$row[‘tag’]."</a>";
}
@me=$tags;
[/field:id]
“`
3、保存并关闭文件:
保存对list_article.htm
的修改,然后关闭文件。
方法三:使用自定义函数
1、创建新函数:
在include/helpers/archive.helper.php
文件中添加如下代码:
“`php
function GetTagsWithLinks($aid) {
global $cfg_cmspath, $dsql;
$tags = ”;
$query = "SELECT tag FROMma_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;
}
“`
2、调用新函数:
在需要调用带链接标签的位置添加以下代码:
“`html
[field:id function=GetTagsWithLinks(@me)/]
“`
3、保存并关闭文件:
保存对archive.helper.php
的修改,然后关闭文件。
方法四:直接修改模板文件
1、打开模板文件:
找到并打开templets/default/list_article.htm
文件。
2、定位到列表位置:
在列表中需要显示标签的位置,添加以下代码:
“`html
[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?/’.urlencode($value).’">’.$value.'</a> ’;
}
}
@me = $revalue;
[/field:id]
“`
3、保存并关闭文件:
保存对list_article.htm
的修改,然后关闭文件。
方法五:使用自定义标签库
1、创建自定义标签库:
在include/extend.func.php
文件中添加如下代码:
“`php
function GetCustomTags($aid) {
global $cfg_cmspath, $dsql;
$tags = ”;
$query = "SELECT tag FROMma_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;
}
“`
2、调用自定义标签库:
在需要调用带链接标签的位置添加以下代码:
“`html
{dede:field name=’customtags’ function=’GetCustomTags(@me)’/}
“`
3、保存并关闭文件:
保存对extend.func.php
的修改,然后关闭文件。
FAQs:DEDECMS文章列表页调用tag的修改方法常见问题解答
问题1:如何在DEDECMS v5.7版本中调用带有链接的TAG标签?
答:在DEDECMS v5.7版本中,可以通过修改include/helpers/archive.helper.php
文件来实现,具体步骤如下:
1、打开include/helpers/archive.helper.php
文件。
2、找到并注释掉第130行左右的代码:$tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
。
3、在该行下面添加以下代码:$tags .= "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>";
。
4、保存并关闭文件,然后在模板文件中使用[field:id function=GetTags(@me)/]
调用即可。
问题2:如何在DEDECMS v5.6版本中调用带有链接的TAG标签?
答:在DEDECMS v5.6版本中,可以通过以下两种方法实现:
方法一:直接在模板文件中添加代码:
1、打开templets/default/list_article.htm
文件。
2、在列表中需要显示标签的位置,添加以下代码:
“`html
[field:id runphp=’yes’]
$tsql = new DedeSql(false);
$tags = ”;
$tsql>SetQuery("Select i.tag Fromtf_taglist
t left jointf_tagindex
i on i.id=t.tid where t.aid=’@me’");
$tsql>Execute(‘t’);
while($row = $tsql>GetArray(‘t’,MYSQL_ASSOC)){
$tags .= "<a href=’/tags.php?/".urlencode($row[‘tag’])."’>".$row[‘tag’]."</a>";
}
@me=$tags;
[/field:id]
“`
3、保存并关闭文件。
方法二:修改include/common.func.php
文件中的GetTags
函数:
1、打开include/common.func.php
文件。
2、找到并修改以下代码:
“`php
function GetTags($aid) {
global $dsql;
$tags = ”;
$query = "Select tag Fromtf_taglist
where aid=’$aid’ ";
$dsql>Execute(‘tag’,$query);
while($row = $dsql>GetArray(‘tag’)){
$tags .= ($tags==” ? $row[‘tag’] : ‘,’.$row[‘tag’]);
}
return $tags;
}
“`
修改为:
“`php
function GetTags($aid) {
global $dsql;
$tags = ”;
$query = "Select tag Fromtf_taglist
where aid=’$aid’ ";
$dsql>Execute(‘tag’,$query);
while($row = $dsql>GetArray(‘tag’)){
$tags .= ($tags==” ? "<a href=’/tags.php?/{$row[‘tag’]}’>{$row[‘tag’]}</a>" : ‘,’."<a href=’/tags.php?/{$row[‘tag’]}’>{$row[‘tag’]}</a>");
}
return $tags;
}
“`
3、保存并关闭文件,然后在模板文件中使用[field:id function=GetTags(@me)/]
调用即可。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1115415.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复