织梦系统调用缩略图方法

2020/04/0122:58:46 发表评论 61

在织梦系统中,经常用到dedecms自定义的函数方法,针对电脑端和手机端网页的缩略图的调用,显示不同的图片,使用str_replace函数改变图片路径。

织梦系统调用缩略图方法

因为有这样一个需求,调用文章的缩略图,需要自定义一个替换图片字符的函数,在模板文件调用自定义函数,实现自己想要的图片地址链接。在织梦系统有自定义函数方法,

常用版本

打开 /include/common.func.php在最后面加入如下代码:

function firstpic($str_pic) 
{ 
$str_sub=str_replace("-lp","","$str_pic"); //删除缩略图中的"-lp"。
return $str_sub; 
}

标签中调用:

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

直接调用:

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

改进版

如果自己上传缩略图的话,貌似第二种就用不了了,这时候就要再用另一种方法:

打开 /include/helpers/archive.helper.php 在最后面加入如下代码:

if(!function_exists('GetImgs'))
{
    function GetImgs($aid)
    {
        global $dsql;
        $query = "select body FROM `dede_addonarticle` where aid='$aid'";
        $dsql->Execute('body',$query);
        $row = $dsql->GetArray('body');
        preg_match('//i',$row['plot'],$str);
        $GImgs = $str[2];
        return $GImgs;
    }
}

调用代码:

[field:id function=GetImgs(@me)/]

织梦调用多个缩略图

DEDECMS列表页面调用缩略图,可以用系统自带的脚本调用第一张图片,也可以通过修改或者自定义织梦函数,来随机调用多张自备缩略图里的一张。

缩略图随机调用代码:

1、默认调用缩略图的代码

[field:array runphp='yes']@me = (empty(@me['litpic']) ? "" : "<a href='{@me['arcurl']}' class='preview'><img src='{@me['litpic']}'/></a>"); [/field:array]

2、替换成如下的代码:

<a href="[field:arcurl/]" title="[field:title/]" target="_blank"><script language="JavaScript" src="http://images.cnblogs.com/road.js"></script></a>

3、把JS文件和准备好的随机缩略图片,上传到网站的images目录里。

var m=20; 

var n=Math.floor(Math.random()*m+1) 

document.write ("<img src='http://www.dedecms8.com/images/nt"+n+".jpg' border=0 width=148 height=118 />");

注意:最好准备20张以上的固定缩略图尺寸的图片,多准备图片,显示出来的图片不会太多重复,版面比较好看。

 

历史上的今天:

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar