为dedecms模板文章列表块添加新标签

这里介绍下,对织梦dedecms模板中的标签进行二次开发的一个实例:
本实例用于在dedecms列表块中获取文章第一张大图的连接地址。
一些特殊的模板需要取得文章的大图而不是缩略图,因为通常文章的大图要比缩略图清楚地多。
下面是dedecms模板标签二次开发的方法:
1、 修改include/extend.func.php
添加如下代码:
     
    //做啦www.zuola.net 提取图集第一张大图,为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="[field:arcurl/]" target="_blank"><img src=[field:first_imgurl/] /><br />[field:title/]</a>
{/dede:arclist}
注意红色的部分。标签名就是我们定义过的变量哦。