我们开发织梦模板时,需要独立提取文章内容页 body字段中(可以是自定义字段名称)图片,可以自定义调用图片数量值。
请将代码加入到 /include/extend.func.php 文件中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 function getbodypics($string, $num) { preg_match_all("/<img([^>]*)/s*src=('|/")([^'/"]+)('|/")/",$string,$matches); $imgsrc_arr = array_unique($matches[3]); $count = count($imgsrc_arr); $i = 0; foreach($imgsrc_arr as $imgsrc) { if($i == $num) break; $result .= "<img src=/"$imgsrc/"/>"; $i++; } return $result; } // $result .= "<img src=/"$imgsrc/"/>"; 这里可以给调用图片增加一些样式等。 // 例如:$result .= "<img class='imgs' src=/"$imgsrc/"/>";在 dede:arclist 和 dede:list 标签中调用代码如下:
1 2 3 4 5 6 7 8 9 {dede:arclist addfields='body' channelid='1' row='8'} [field:body function=getbodypics(@me,3)/] {/dede:arclist} <!-- body 可以改为自定义字段名称。 channelid为内容模型id,数字3,为调用图片数量,可以根据需要更改 --> {dede:list} [field:body function=getbodypics(@me,3)/] {/dede:list} <!--body 可以改为自定义字段名称,但是需要在新建自定义字段时,一定要选择 【使字段可以在列表的底层模板中获得】-->
在内容模板中的调用代码:
1 2 3 {dede:field.body function=getbodypics(@me,3)/} <!-- body 可以改为自定义字段名称,3为调用图片数量。-->新闻热点
疑难解答