DedeCMS常用标签讲解笔记整理(2)

2019-04-21 16:38

id,即channelid,这个可以在系统后台的内容模型管理中查看。

当然我们也可以通过这种方式在arclist标签中调用文章的内容

{dede:arclist addfields='body' idlist='1156' channelid='1'} 文章标题:[field:textlink/]
文章内容:[field:body/]


{/dede:arclist}

如果我们文章内容很长,例如是添加了一篇新闻,这样通过body调用出来的内容会出现内

容很长的问题,这时候我们希望能够限制调用内容的长度,但是我们调用附加表的时候没有这个属性来控制调用附加表的长度,所以只有通过自定义函数来对其进行控制,自定义扩展函数function在织梦的标签中经常使用,下面我们对其进行一个简单的实例。

我们这里用到一个idlist属性,这个属性就是调用指定id的文章,我们这里添加调用的是id为1156的文章。

下面我们来对内容字段使用自定义函数来控制长度,我们将标签修改成以下形式: {dede:arclist addfields='body' idlist='1156' channelid='1'} 文章标题:[field:textlink/]

文章内容:[field:body function='cn_substr(@me,100)'/]


{/dede:arclist}

这里我们在body这个字段地方加上了一个函数function='cn_substr(@me,100)',这个函数的作用就是截取中文字符,我们可以查看网站源码文件\\include\\common.func.php第123行内容。

//中文截取2,单字节截取模式

function cn_substr($str,$slen,$startdd=0)

当然,这个文件里面还有很多的常用函数,这些函数都起不同的作用,例如转换日期、去除HTML标记、获取IP等等,我们在二次开发标签中也介绍了这些函数的功能和用处,理解这些函数需要有一定的PHP基础。

在function='cn_substr(@me,100)'中出现了一个“@me”,这个“@me”代表的是标签本身,例如[field:body function='cn_substr(@me,100)'/],这个就是将标签[field:body/]输出的内容通过@me传递到cn_substr这个函数中进行处理。

当然我们也可以自己编写函数,只需要创建/include/extend.func.php文件,编写相应的自定义函数即可。

接下来我们介绍变量的简单编程,我们首先来看一段标签标记: {dede:arclist typeid='13,14'}

[field:title/] [field:senddate runphp='yes'] $ntime = time(); $onetime = 3600 * 2;

if(($ntime - @me)<$onetime) @me = \; else @me = \;

[/field:senddate]

{/dede:arclist}

这里我们将2小时前发布的内容后面增加一个(new),这里我们应用到了标签的PHP扩展。我们这里用到的是变量[field:senddate/] 这个变量显示的是发布时间,因为我们需要判断2小时内最新发布的文档,所以需要通过这个变量进行判断。这里变量中属性runphp='yes'为开启PHP编程,然后可以通过下面的方式进行编程扩展。

[field:senddate runphp='yes'] $ntime = time();//当前时间

$onetime = 3600 * 2;//距离的时间数目

if(($ntime - @me)<$onetime) @me = \; else @me = \;//判断,如果相差时间小于2小时加红,否则没有内容 [/field:senddate]

当然如果懂PHP相关内容,还有很多的PHP扩展,这里主要是将处理后的内容通过@me来返回。

当然这里还有arclistsg标签,这个标签也是用于调用发布的文档内容,但是不同于arclist,这个标签调用的是单表模型的内容,我们系统中的分类信息就是一个单表模型的例子,在使用上,这个标签和arclist相同,所以在这里不再重复说明,只是arclistsg标签调用时候需要加上channelid之类的。

{dede:arclistsg channelid='-8' limit='0,2'}

[field:title/]
{/dede:arclistsg}

list标签

{dede:list}{/dede:list}这个标签也是系统常用的标记,这个标记主要是用于列表页显示列表数据,这个标签不是全局标记,所以不要将这个标记应用到非list_*.htm这种模板中去,当然我们后台的全局标记测试也无法测试这个标记,调试这个标记最简单的办法,就是通过网址中http://www.adb.com/plus/list.php?tid=13这种形式来测试。

测试调试模板的时候需要将系统后台的模板缓存关闭,可以在后台[系统]-[系统基本参数],在性能选项卡中将“是否启用模板缓存”关闭即可。

这个标签在列表页通常是和{dede:pagelist listsize='5' /}搭配使用的,这个是分页标签,就是显示可以让用户点击“上一页”、“下一页”这种标记。

List标签中的变量也可以进行function自定义函数或者PHP扩展,这里就不重复介绍,这里介绍下在list标签中调用附加字段。

与arclist不同,list中调用附加字段需要编辑内容模型,例如我们编辑软件模型的模板文件,即\\templets\\default\\list_soft.htm,我们可以查看到以下代码:

{dede:list pagesize='10'}

[field:array runphp='yes']@me = (empty(@me['litpic']) ? \

href='{@me['arcurl']}' class='preview'>\[/field:array]

[field:title/]

上传日期:[field:pubdate function=\推荐级别:[field:softrank function='GetRankStar(@me)'/] 软件语言:[field:language/] 浏览次数:[field:click/]


DedeCMS常用标签讲解笔记整理(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:管理会计理论与实践问题探讨123

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: