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