之前,网上流传了很多在织梦CMS中调用第一张图片的方法,但大体都一样。即删除缩略图字符串,并添加后缀。然而这种方法仅限于jpg图片或其他单独图片类的调用。如果一个站有png、JPG、gif等多种格式。网上流传的方法明显不适合。现在,源码库发布一种适用各种图片类型的代码,从而实现织梦CMS调用内容页第一张图片的方法:
方法1:(即网上流传的方法)
打开 ../ include/ common.func.php 添加如下代码:
1 //取第一张图地址 2 function firstimg($str_pic){ 3 $str_sub=substr($str_pic,0,-7).".jpg";//删除缩略图字符串最后七位,然后再补上后缀.jpg 4 return $str_sub; 5 }
然后在模板里嵌套调用:
[field:litpic function=firstimg('@me')/]
直接调用用:
{dede:field name='litpic' function="firstimg(@me)"/}
以上方法试了下,在图片都为JPG时可以用。如果有PNG,BMP等是不好用。所以优化了下,如下。
方法2:
打开 ../ include/ common.func.php 添加如下代码:
1 function firstimg($str_pic){ 2 $str_sub=str_replace("-lp","","$str_pic"); //把缩略图中的‘"-lp"’ 删掉就是第一张图的地址了。 3 return $str_sub; 4 }
然后在模板里嵌套调用:
[field:litpic function=firstimg('@me')/]
直接调用用:
{dede:field name='litpic' function="firstimg(@me)"/}
后记:方法二为方法一的改良版。适用于最新版的DEDECMS。添加的位置和方法一一样添加即可