欢迎访问织梦学习网,加群!!!!!!!!!!!!!!!!
当前位置:主页 > 二次开发 >

dedecms仿站必知标签调用集<二>

2015-04-21 dedecms二次开发 dedecms,仿站,必知,标签,调用,集,二,—,–,列表

——————————————————————————–
列表页调用TAG标签的两种方法
dedestudy.cn/' target='_blank'>dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出种方法
方法1:
在列表需要的位置加入下列代码
[field:id runphp=yes]
$tsql = new DedeSql(false);
$tags = ”;
$tsql->SetQuery(“Select i.tagname From dede_tag_list t left join dede_tag_index 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['tagname']).”‘>”.$row['tagname'].”</a>”;
}
@me=$tags;
[/field:id]
方法2:
在inc_functions.php文件里加入
function listtag($aid){
$tsql = new DedeSql(false);
$tags = ”;
$tsql->SetQuery(“Select i.tagname From dede_tag_list t left join dede_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)"/]标记
——————————————————————————–
{dede:arclist typeid=” row=” col=” titlelen=” infolen=”
imgwidth=” imgheight=” listtype=” orderby=” keyword=”}
——————————————————————————–
去除html
[field:title function='htmlspecialchars(@me)'/]
主要使用在FLASH以及<a>中,是了了去除标签中的HTML元素,比如<b></b>等,如果不使用此标签,则会导致HTML代码显示在页面中。
使用方法
——————————————————————————-
<a title=”[field:title function='htmlspecialchars(@me)'/] ” href=”[field:arcurl /]“>[field:title /]</a>
或者
<a href=”[field:arcurl /]” ><img src=’[field:litpic/]‘ alt=”[field:title function='htmlspecialchars(@me)'/]” border=’0′ width=” height=”></a>
图片:
1: <a href=’[field:arcurl /]‘><img src=’[field:litpic/]‘ border=’0′ width=” height=”></a>
2: [field:imglink /]
3: <a href=’[field:arcurl /]‘>
[field:image/]</a>
[field:imglink /]与<a href=’[field:arcurl /]‘>[field:image/]</a> 是完全等价的,只不过后者更灵活一点,可以在 <a>中添加 title=””

<a href=’[field:arcurl /]‘ title=”[field:title function='htmlspecialchars(@me)'/] “>[field:image/]</a>
<a href=’[field:arcurl /]‘><img src=’[field:litpic/]‘ border=’0′ width=” height=”></a>
则更为灵活,不仅可以添加title=””,还可以添加 alt=””,但是虽然灵活了,缺少了图片的宽度和高度的控制,所以要在CSS中控制图片的大小,适合对CSS有一点了解的人。
栏目:
1: <a href=’[field:typeurl /]‘>[field:typename /]</a>
2:[field:typelink /]
二者是相等的,只不过是前者更灵活一点
连接:
1: <a href=’[field:arcurl /]‘>[field:title /]</a>
2:[field:textlink /]
两者是相等的,前者比后者更灵活,可以增加titie=””
在这里应该注意的是,title长度的问题,Dedecms数据库中最大长度为80字节,40汉字宽度,另外,arclist标签里面如果不设置titlelen的值,则默认取值为30字符,15汉字宽度
所以除了在使用titlelen控制标题长度,还可以使用另外一种方法来控制标题长度
设置titlelen=”80″
<a href=”[field:arcurl /]” title=”[field:title function='htmlspecialchars(@me)'/]“>[field:title function="cn_substr(@me,40)"/]</a>
这种格式的好处是,title=””中为完整标题,即鼠标停留显示完整标题,function=”cn_substr(@me,40)”作用是截取40字符宽度,20汉宽度。
点击:
[field:click/]
[field:click runphp="yes"]
if(@me>1000)@me=’<font color=”#ff0000″>@me</font>’;
else @[email protected];
[/field:click]
超过1000点击的,显示红色
简介:
1: [field:info /]
2: [field:description /]
3: [field:info function="cn_substr(@me,120)"/]
4: [field:description function="cn_substr(@me,120)"/]
两种是相等的,简介长度有两种控制方式,一种是infolen=”” 控制,如果infolen无参数,则默认为250
另外一种是使用function=”cn_substr(@me,120)”控制
120为所取字符宽度,
日期:
[field:pubdate /]
效果
1:[field:pubdate runphp="yes"]
if((time()[email protected])<(60*60*24)){@me=’ <font color=”#ff6600″>’.strftime(“%H:%M”,@me).’</FONT>’;}
else {@me=strftime(“%m-%d”,@me);}
[/field:pubdate]
效果 2:
24内发布的文章日期显示红色
[field:pubdate runphp="yes"]
if((time()[email protected])<(60*60*24)){@me=’ <font color=”#ff6600″>’.strftime(“%m-%d”,@me).’</FONT>’;}
else {@me=strftime(“%m-%d”,@me);}
[/field:pubdate]
[field:pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/]
2008-11-01 11:11:52
[field:pubdate function='strftime("%y-%m-%d %H:%M:%S",@me)'/]
08-11-01 11:11:52
[field:pubdate function='strftime("%m-%d %H:%M:%S",@me)'/]
11-01 11:14:20
[field:pubdate function='strftime("%m-%d %H:%M",@me)'/]
11-01 11:14
[field:pubdate function='strftime("%y-%m-%d",@me)'/]
08-11-01
[field:pubdate function='strftime("%y年%m月%d日",@me)'/]
08年11月01日
[field:pubdate function='strftime("%Y年%m月%d日 %H点%M分%S秒",@me)'/]
2008年11月01日 11点17分36秒
[field:pubdate function='strftime("%b %d, %Y",@me)'/]
Nov 01, 2008
[field:pubdate function='strftime("%A on %b %d, %Y, %X : %Z",@me)'/]
Saturday on Nov 01, 2008, 11:21:06 : 中国标准时间
%a 星期几的缩写。
%A 星期几的全名。
%b 月份名称的缩写。
%B 月份名称的全名。
%c 本地端日期时间较佳表示字符串。
%d 用数字表示本月的第几天 (范围为 00 至 31)。
%H 用24小时制数字表示小时数 (范围为 00 至 23)。
%I 用12小时制数字表示小时数 (范围为 01 至 12)。
%j 以数字表示当年度的第几天 (范围为001至 366)。
%m 月份的数字 (范围由 1 至 12)。
%M 分钟。
%p 以 ‘AM’ 或 ‘PM’ 表示本地端时间。
%S 秒数。
%U 数字表示为本年度的第几周,第一个星期由第一个周日开始。
%W 数字表示为本年度的第几周,第一个星期由第一个周一开始。
%w 用数字表示本周的第几天 ( 0 为周日)。
%x 不含时间的日期表示法。
%X 不含日期的时间表示法。
%y 二位数字表示年份 (范围由 00 至 99)。

%Y 完整的年份数字表示,即四位数。
%Z 时区或名称缩写。
%% % 字符。
评论:
[field:postnum/]
作者: [field:writer /]
{/dede:arclist}