这里介绍下,对织梦dedecms模板中的标签进行二次开发的一个实例:
本实例用于在dedecms列表块中获取文章第一张大图的连接地址。
一些特殊的模板需要取得文章的大图而不是缩略图,因为通常文章的大图要比缩略图清楚地多。
下面是dedecms模板标签二次开发的方法:
1、 修改include/extend.func.php
添加如下代码:
//利淘淘 提取图集第一张大图,为arclist用
function get_firstbigimg($arcid){
//获取图片附加表imgurls字段内容进行处理
$dsql = new DedeSql(false);
$row = $dsql->GetOne("Select imgurls From dede_addonimages where aid='$arcid'");
preg_match_all("|{dede:img ddimg='(.*)' text=(.*)|Uis",$row['imgurls'],$imgurls); //获取所有图片地址
$get_firestimg = $imgurls[1][0]; //
return $get_firestimg;
}
注意:该文件用于存放dede模板标签中公共调用的一些函数。
2、修改include/taglib/arclist.lib.php
在373行添加
$row['first_imgurl'] = get_firstbigimg($row['id']);
说明:该语句的含义为添加一个标签变量,该标签变量用于获取文章中第一张大图的地址。
如此:一个在arclist标签中可以使用的标签就制作完成了。简单吧?
下面是使用方法举例:
{dede:arclist row=5 typeid='' type='image.'}
<a href=http://www.dede58.com/"[field:arcurl/]" target="_blank"><img src=http://www.dede58.com/[field:first_imgurl/] /><br />[field:title/]</a>
{/dede:arclist}
注意红色的部分。标签名就是我们定义过的变量哦。