我们开发织梦模板时,需要独立提取文章内容页body字段中(可以是自定义字段名称)图片,可以自定义调用图片数量值。

函数代码

请将代码加入到\include\extend.func.php文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
functiongetbodypics($string,$num)
{
preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/",$string,$matches);
$imgsrc_arr=array_unique($matches[3]);
$count=count($imgsrc_arr);
$i=0;
foreach($imgsrc_arras$imgsrc)
{
if($i==$num)break;
$result.="<imgsrc=\"$imgsrc\"/>";
$i++;
}
return$result;
}
//$result.="<imgsrc=\"$imgsrc\"/>";这里可以给调用图片增加一些样式等。
//例如:$result.="<imgclass='imgs'src=\"$imgsrc\"/>";
函数调用方法

在 dede:arclist 和 dede:list 标签中调用代码如下:

1
2
3
4
5
6
7
8
9
{dede:arclistaddfields='body'channelid='1'row='8'}
[field:bodyfunction=getbodypics(@me,3)/]
{/dede:arclist}
<!--body可以改为自定义字段名称。channelid为内容模型id,数字3,为调用图片数量,可以根据需要更改-->
{dede:list}
[field:bodyfunction=getbodypics(@me,3)/]
{/dede:list}
<!--body可以改为自定义字段名称,但是需要在新建自定义字段时,一定要选择【使字段可以在列表的底层模板中获得】-->

在内容模板中的调用代码:

1
2
3
{dede:field.bodyfunction=getbodypics(@me,3)/}
<!--body可以改为自定义字段名称,3为调用图片数量。-->

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

发表回复