张文保的博客
张文保 · Paul Zhang

Engineering the Future
功不唐捐,玉汝于成

织梦dedecms调用文章第一张图片(非缩略图)的方法

织梦CMS删除缩略图字符串并添加后缀这种方法仅限于jpg图片或其他单独图片类的调用。如果一个站有png、jpg、gif等多种格式,此方法明显不适合。下面保哥发布一种适用于各种图片格式的代码,从而实现织梦CMS调用内容页第一张图片的方法:

方法1:(即网上流传的方法)

打开 ../ include/ common.func.php  添加如下代码:

//取第一张图地址
function firstimg($str_pic){
 $str_sub=substr($str_pic,0,-7).".jpg";//删除缩略图字符串最后七位,然后再补上后缀.jpg
 return $str_sub;
}

然后在模板里嵌套调用:

[field:litpic function=firstimg('@me')/]

直接调用用:

{dede:field name='litpic' function="firstimg(@me)"/}

以上方法试了下,在图片都为JPG时可以用。如果有PNG,BMP等是不好用。所以优化了下,如下。

方法2:

打开 ../ include/ common.func.php 添加如下代码:

function firstimg($str_pic){ 
    $str_sub=str_replace("-lp","","$str_pic");  //把缩略图中的‘"-lp"’  删掉就是第一张图的地址了。
    return $str_sub; 
}

然后在模板里嵌套调用:

[field:litpic function=firstimg('@me')/]

直接调用用:

{dede:field name='litpic' function="firstimg(@me)"/}

后记:方法二为方法一的改良版。适用于最新版的DEDECMS。添加的位置和方法一一样添加即可。

本文标题:《织梦dedecms调用文章第一张图片(非缩略图)的方法》
网址:https://zhangwenbao.com/dedecms-method-first-picture-of-the-article.html
作者:张文保
发布时间:2020-11-20
许可协议:CC BY-NC-SA 4.0
发表新评论
SSL安全认证