用法:
{dede:list pagesize='12'}
<li>
<a href="[field:id function='getImgsFirstImg(@me)' /]">
<img src="[field:litpic /]" alt="[field:title /]"/>
</a>
</li>
{/dede:list}
操作:
在 /include/extend.func.php 中添加一个函数:
/**
* 获取图片集中的第一张图片用于JS特效(缩略图太小)
* upall,/
* 20:19 2012年7月3日星期二
*/
function getImgsFirstImg($aid){
global $dsql;
$aid = (int)$aid;
$defaultImg = "/images/defaultpic.gif";
// 取图片模型的图片集字段
$query = "
SELECT imgurls FROM site_addonimages
WHERE aid = $aid
LIMIT 1
";
$rs = $dsql->GetOne($query);
$imgurls = $rs['imgurls'];
if (empty($imgurls)) return $defaultImg;
// 取图片集第一张图片
$reg="/ddimg=\'(.*?)([^\']+)/isu";
$z=preg_match_all($reg,$imgurls,$imgArray);
$imgUri = $imgArray[2][0]; // 取到的图片
if (empty($imgUri)) $imgUri = $defaultImg;
return $imgUri;
}
若需要从文章正文中获取第一张图片,可以使用这个代码:
/**
* 获取正文中的第一张图片用于JS特效(缩略图太小)
* upall,/
* 9:44 2012年7月4日
*/
function getBodyFirstImg($aid){
global $dsql;
$aid = (int)$aid;
$defaultImg = "/images/defaultpic.gif";
// 取图片模型的图片集字段
$query = "
SELECT body FROM site_addonarticle
WHERE aid = $aid
LIMIT 1
";
$rs = $dsql->GetOne($query);
$body = $rs['imgurls'];
if (empty($body)) return $defaultImg;
// 取body中的第一张图片
$reg='/(src\=\")(.*?)(\".*?\>)/';
$z=preg_match_all($reg,$body,$imgArray);
$imgUri = $imgArray[2][0]; // 取到的图片
if (empty($imgUri)) $imgUri = $defaultImg;
return $imgUri;
}
<完>