帝国CMS7.5根据标题自动生成缩略图插件
插件演示地址
后台演示地址:https://ecms.gxecms.cf/e/admin/index.php
用户名:demo
密码:demo
前台演示页面:
https://ecms.gxecms.cf/d/file/ctitlepic/1/9277_28.webp
https://ecms.gxecms.cf/d/file/ctitlepic/1/4793_21.webp
插件购买请联系:
联系QQ:770430296
微信:tiger024062
特色功能
自动根据标题生成缩略图;
背景图可自定义,不限制大小,可随机背景图片;
文字背景、文字颜色以及文字字体可个性化自定义,也可以使用随机字体文件;
支持自定义的文字水印,目前目前仅支持右下角水印;
生成的图片会本地缓存,提高服务器运行效率;
网站标题图片路径可以自定义;
网站搬家时可以把生成的图片全部删掉,缩短迁移时间,到新服务器可批量生成所有文章缩略图;
后台丰富的个性化选项细微配置,根据自身特点个性化生成图片。
环境要求
php5.6以上,需要开启GD扩展(一般默认都开启的)
帝国cms7.2~7.5
安装方法
/e/extend/zyl_autothumb/上传到系统/e/extend/zyl_autothumb/目录。
/e/admin/zyl_autothumb/上传到你的管理目录/zyl_autothumb。
后台添加插件菜单,后台->系统->扩展菜单,添加菜单(菜单名称:标题自动缩略图,链接地址:zyl_autothumb/index.php 金刚模式链接)。
上传自己的背景图片文件到e/extend/zyl_autothumb/images/background/目录
上传自己的字体文件到e/extend/zyl_autothumb/font/目录
水印字体文件上传到e/extend/zyl_autothumb/watermark/目录
配置好图片参数
修改系统文件,为无图文章添加缩略图和内容图片。
系统文件e/class/hinfofun.php修改说明
查找如下代码,大概在325行
//增加信息是否生成文件 if($ccr['addreinfo']&&$add['checked']) { GetHtml($add['classid'],$id,'',0); }
在其上面添加如下代码
/** 自动生成标题缩略图代码 begin */ //给无缩略图的信息加缩略图和文章图 include_once ECMS_PATH . 'e/extend/zyl_autothumb/include/common.php'; if ($add['titlepic'] == '' && $zyl_config['open'] == 1) { $zyl_config['filepath'] = $titlepic = $zyl_config['prefix'] . $zyl_config['path'] . ceil($id / 10000) . "/{$id}_{$add['classid']}.{$zyl_config['imagetype']}"; $zyl_config['title'] = $add['title']; //如果设置了生成图片,这里生成图片 if ($zyl_config['iscreate']) { createPiture($zyl_config, false); //生成缩略图 } $up = $empire->query("UPDATE `" . $infotbr['tbname'] . "` SET `titlepic`='{$titlepic}' WHERE `classid`='{$add['classid']}' AND `id`='{$id}' LIMIT 1"); if (isset($add['newstext']) && !strstr($add['newstext'], '<img')) { $add['newstext'] = stripslashes($add['newstext']); $nimg = '<p style="text-align: center;"><img src="' . $titlepic . '" /></p>'; $add['newstext'] = addslashes($nimg . $add['newstext']); try { $sql = $empire->query("SHOW COLUMNS FROM `{$infotbr['datatbname']}`"); $fields = []; while ($r = $empire->fetch($sql)) { $fields[] = $r['Field']; } $sql = $empire->query("SHOW COLUMNS FROM `{$infotbr['tbname']}`"); $fields2 = []; while ($r = $empire->fetch($sql)) { $fields2[] = $r['Field']; } if (in_array('newstext', $fields)) { $up = $empire->query("UPDATE `" . $infotbr['datatbname'] . "` SET `newstext`='{$add['newstext']}' WHERE `classid`='{$add['classid']}' AND `id`='{$id}' LIMIT 1"); } elseif(in_array('newstext', $fields2)) { $up = $empire->query("UPDATE `" . $infotbr['tbname'] . "` SET `newstext`='{$add['newstext']}' WHERE `classid`='{$add['classid']}' AND `id`='{$id}' LIMIT 1"); } } catch (Exception $e) { } } } /** 自动生成标题缩略图代码 end */
伪静态规则
这一步是可选操作,如果不是网站搬家或者关闭了图片生成,可以不设置伪静态规则,之前新增文章的代码已经自动生成图片。
Nginx
rewrite ^([^\.]*)/d/file/ctitlepic/(\d+)/(\d+)_(\d+)\.(webp|png|jpg|jpeg|gif|bmp)$ $1/e/extend/zyl_autothumb/index.php?id=$3&classid=$4 last;
Apache
RewriteRule ^(.*)/d/file/ctitlepic/(\d+)/(\d+)_(\d+)\.(webp|png|jpg|jpeg|gif|bmp)$ $1/e/extend/zyl_autothumb/index.php?id=$3&classid=$4 [L]