织梦dedecms调用文章内容页body中的图片(可多张)

我们开发织梦模板时,需要独立提取文章内容页 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为调用图片数量。-->

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c0292d5eb908a766b02a5e8529ab7be2.html