如何在DEDE织梦中自定义缩略图的尺寸?

DEDE织梦中,可以通过后台的系统设置来调整缩略图的高度和宽度。具体操作路径为:登录网站管理后台 > 系统 > 系统基本参数 > 图片水印设置,在这里可以设置缩略图的高度和宽度。

设置缩略图高度和宽度的方法

方法一:使用getimagesize函数

1、获取图片信息:在include/helpers/extend.helper.php文件中添加以下代码。

   if ( ! function_exists('getheight')) {
       function getheight($litpic) {
           $litpicc = $GLOBALS['cfg_basehost'].$litpic;
           $arr = getimagesize($litpicc);
           $result = $arr[1]; // 此为高度
           //$result = $arr[0]; //此为宽度
           return $result;
       }
   }

2、模板调用:在模板中使用以下代码来输出图片的高度。

   <img src="[field:litpic/]" height="[field:litpic function='getheight(@me)'/]">

3、注意事项:这种方法在URL中带有www时可能会遇到问题,例如http://www.xxx.com无法正常获取,而http://xxx.com则可以正常获取。

方法二:在数据库中存储图片尺寸

1、获取图片尺寸并插入数据库:在dede/article_add.php文件的插入数据库前添加以下代码。

   //获取缩略图宽度及高度
   $litpicc = $GLOBALS['cfg_basehost'].$litpic;
   $arr = getimagesize($litpicc);
   $width = $arr[0]; // 宽度
   $height = $arr[1]; // 高度

2、更新数据库表结构:在数据库中添加相应字段以存储图片的宽度和高度。

3、通过数据库调用:在模板中直接调用数据库中的宽度和高度字段。

   <img src="[field:litpic/]" width="[field:width/]" height="[field:height/]">

方法三:使用自定义函数生成缩略图

1、编写缩略图生成函数:在include/helpers/image.helper.php文件中添加以下代码。

如何在DEDE织梦中自定义缩略图的尺寸?
   if ( ! function_exists('thumb')) {
       function thumb($imgurl, $width, $height, $bg = true) {
           global $cfg_mainsite,$cfg_multi_site;
           $thumb = eregi("http://",$imgurl)?str_replace($cfg_mainsite,'',$imgurl):$imgurl;
           list($thumbname,$extname) = explode('.',$thumb);
           $newthumb = $thumbname.'_'.$width.'_'.$height.'.'.$extname;
           if(!$thumbname || !$extname || !file_exists(DEDEROOT.$thumb)) return $imgurl;
           if(!file_exists(DEDEROOT.$newthumb)) {
               include_once DEDEINC.'/image.func.php';
               if($bg==true) {
                   ImageResizeNew(DEDEROOT.$thumb, $width, $height, DEDEROOT.$newthumb);
               } else {
                   ImageResize(DEDEROOT.$thumb, $width, $height, DEDEROOT.$newthumb);
               }
           }
           return $cfg_multi_site=='Y'?$cfg_mainsite.$newthumb:$newthumb;
       }
   }

2、调用缩略图生成函数:在模板中使用以下代码来生成缩略图。

   [field:picname function='thumb(@me,100,100)'/]

相关问答FAQs

1、Q: 为什么在使用getimagesize函数时,带有www的URL无法正常获取图片尺寸?

A: 这可能是由于服务器配置或URL重写规则导致的,可以尝试在配置文件中调整URL设置,或者使用不带www的URL进行测试。

2、Q: 如何在织梦CMS中设置多张默认缩略图?

A: 可以通过修改默认缩略图的文件名来实现,在网站根目录的images文件夹中找到defaultpic.gif文件,将其替换为其他图片即可,如果需要设置多张随机显示的缩略图,可以在JS文件中编写随机调用不同图片的代码。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1223665.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(2)
未希新媒体运营
上一篇 2024-10-19 06:22
下一篇 2024-10-19 06:31

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入