热门关键字:
jquery > jquery教程 > DedeCMS > 织梦内容管理系统(DedeCms) 标签最常用的调用方法

织梦内容管理系统(DedeCms) 标签最常用的调用方法

2985
作者:管理员
发布时间:2013/1/10 11:48:36
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=211

此文章由网友【蕾蕾】提供

 

最新标签tag调用的方法
{dede:tag row=’30′ sort=’new’} [field:highlight/]([field:result/]) {/dede:tag}


当月热门标签tag调用的方法
{dede:tag row=’30′ getall=’1′ sort=’month’} [field:tagname/]([field:result/]) {/dede:tag}


随机标签tag调用的方法
{dede:tag row=’60′ sort=’rand’} [field:highlight/]([field:result/]) {/dede:tag}


内容页tag添加tag调用的方法
{dede:tag type=’current’/}


我们再来看看官方的文档
##标签名称:tag
##功能说明:TAG调用标签
##适用范围:全局使用
##基本语法:
##{dede:tag sort=’new’ getall=’0′}
##<a href=’[field:link/]‘>[field:tag /]</a>
##{/dede:tag}
##参数说明:
##row=’30′ 调用条数
##sort=’new’ 排序方式 month,rand,week
##getall=’0′ 获取类型 0 为当前内容页TAG标记,1为获取全部TAG标记
##底层模板字段:
##link,tag
——————————————————————–


dede在列表中运用tag关键字标签
但是我们知道dede默认在列表是无法调用tag标签的,是用全部还是当前页?显然全部的话和分类信息又有些不着调,如果用当前页的话,没有文章id,你也调不出东西来。难道这就没辙了吗?


dedeCMS5.6 列表页调用tag的方法-DedeCms
方法一
[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]


方法二
1.打开DEDECMS根目录include/common.func.php
在最底部 ?> 前面加入以下代码:
//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}


2.然后在文章页可以使用
{dede:field.id function=”listtag(@me)”/}
来调用TAG标签,
在列表页可以使用
[field:id function="listtag(@me)"/]
来调用TAG标签.
然 后在列表页相应位置加入[field:id function="listtag(@me)"/]标记。5.6版本的DedeCMs里面关于tag的调用,虽然也有typeid的参数了,但是你打开 数据库看看就会发现,虽然dede_tagindex表里面也有了typeid的字段。这样我们就可以用DEDE 的SQL 语句实现更加灵活的 Tag调用。
——————————————————————-


广告已过期代码调整,如果继续投放请联系管理员

{dede:tagname runphp=’yes’}
	$time1 = @me;
	@me = time();
	$time2 = GetDateTimeMK(@me);
	$time3 = GetDateTimeMK(@me);
	if(@me>strtotime($time2) and @me<strtotime($time3))
	{
		@me=”<meta http-equiv=’Refresh’ content=’0;URL=[field:khurl/]‘ />”;
	}else {
		@me=”广告已过期,如果继续投放请联系管理员”;
	}
{/dede:tagname}
 



实现TAG伪静态的方法很多种,看来看去最简单的就是以下方法:


1、dede后台开启伪静态


2、找到文件 /include/taglib/tag.lib.php 搜索以下代码:
$row['link'] = $cfg_cmsurl.”/tags.php?/”.urlencode($row['keyword']).”/”;
改成
$row['link'] = $cfg_cmsurl.”/tags/”.urlencode($row['keyword']).”.html”;


3、找到模板文件 templets/default/taglist.htm 搜索以下代码:(注意:有些版本没有此步可省略)
<strong> 当前位置:</strong>:<a href=”{dede:global.cfg_cmsurl/}/”>主页</a> > <a href=’tags.php’>TAG标签</a> > {dede:field.title /}
修改为
<strong> 当前位置:</strong>:<a href=”{dede:global.cfg_cmsurl/}/”>主页</a> > <a href=’/tags.html’>TAG标签</a> > {dede:field.title /}


4、httpd.ini 文件里加:
RewriteRule ^(.*)/tags\.html $1/tags\.php
RewriteRule ^(.*)/tags/(.*).html $1/tags\.php\?$2





如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:织梦内容管理系统 DedeCms 标签最常用的调用方法
友荐云推荐