分类目录归档:帝国CMS二次开发

帝国CMS在php7.x版本下运行

打开 /e/class/connect.php,找到
define('MAGIC_QUOTES_GPC',function_exists('get_magic_quotes_gpc')&&get_magic_quotes_gpc());
改成
define('MAGIC_QUOTES_GPC',false);
或改成:define('MAGIC_QUOTES_GPC',(ini_get('magic_quotes_gpc') == 1) ? true : false);//php7.4使用

DW里清除html代码里面的多余的空行

一般从LINUX系统下传的模板文件都会有空行,看着不舒服。

打开dreamweaver,用ctrl+f快捷键打开搜索功能,在查找里面输入:\r\n\s*\r\n,在替换里面输入:\n,然后在选项里勾选“使用正则表达式”,然后点击“替换全部”,dreamweaver就会自动把空行去掉了。

栏目导航标签[!–newsnav–]不显示某栏目

修改connect.php文件中的ReturnClassLink函数,红色部分就是新加的代码,25是栏目ID,不让显示栏目的ID,如果有多个栏目不让显示,写成 $r[$i]==栏目ID || $r[$i]==栏目ID
function ReturnClassLink($classid){
global $class_r,$public_r,$fun_r;
if(empty($class_r[$classid][featherclass]))
{$class_r[$classid][featherclass]=”|”;}
$r=explode(“|”,$class_r[$classid][featherclass].$classid.”|”);
$string=””.$fun_r[‘index’].””;
for($i=1;$i<count($r)-1;$i++)
{

if($r[$i]==25) //不显示的的栏目ID
{
continue;
}

//静态列表
if(empty($class_r[$r[$i]][listdt]))
{
//无绑定域名
if(empty($class_r[$r[$i]][classurl]))
{$url=$public_r[newsurl].$class_r[$r[$i]][classpath].”/”;}
else
{$url=$class_r[$r[$i]][classurl];}
}
else
{
$url=$public_r[newsurl].”e/action/ListInfo/?classid=$r[$i]”;
}
$string.=” “.$public_r[navfh].” “.$class_r[$r[$i]][classname].””;
}
return $string;
}

文章有新评论发邮件通知管理员(mail函数发送 )

一、在doaction.php引入邮件发送文件。
e/pl/doaction.php 引入SendEmail.inc.php文件。
require(‘../class/SendEmail.inc.php’);

二、在plfun.php中加入以下代码(Plfun.php所在位置:e/pl/),在174行后面。

//有新评论邮件通知
$adminemail = “zxprint@qq.com,173758396@qq.com”;
$pltitle = “ZXprinter有新评论”;
$eminfo = “你的网站zxprinter.com上有新的评论,请前往查看。”;
//执行发送
EcmsToSendMail($adminemail,$pltitle,$eminfo);

最后,帝国CMS后台管理,系统设置–FTP/EMAIL–mail 函数发送

帝国CMS伪静态Rewrite规则

# 将 RewriteEngine 模式打开
RewriteEngine On
#信息内容页:showinfo-[!–classid–]-[!–id–]-[!–page–].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^showinfo-(.+?)-(.+?)-(.+?)\.html$ /e/action/ShowInfo\.php\?classid=$1&id=$2&page=$3

#信息列表:listinfo-[!–classid–]-[!–page–].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^listinfo-(.+?)-(.+?)\.html$ /e/action/ListInfo/index.php?classid=$1&page=$2

#标题分类列表页:infotype-[!–ttid–]-[!–page–].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^infotype-(.+?)-(.+?)\.html$ /e/action/InfoType/index.php?ttid=$1&page=$2

#TAGS信息列表页:tags-[!–tagname–]-[!–page–].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tags-(.+?)-(.+?)\.html$ /e/tags/index.php?tagname=$1&page=$2

帝国cms截图黑边解决办法

只有宽大于高(横片)的图片生成缩略图才会左右出现黑边,我们打开一张有黑边的图片,分析出得出图片是按照高度来缩放,宽度不足的话就用黑边填充。

打开e/class/gd.php,找到代码

if($big_width >= $max_width and $big_height >= $max_height)
{
if($big_width > $big_height)
{
$tempx = $max_width / $ratioh;
$tempy = $big_height;
$srcX = ($big_width – $tempx) / 2;
$srcY = 0;
}

替换成:

if($big_width >= $max_width and $big_height >= $max_height)
{
if($big_width > $big_height)
{
$tempy = $max_height / $ratiow;
$tempx = $big_width;
$srcY = ($big_height – $tempy) / 2;
$srcX = 0;
}

截图黑边解决办法 – 帝国CMS

只有宽大于高(横片)的图片生成缩略图才会左右出现黑边,我们打开一张有黑边的图片,分析出得出图片是按照高度来缩放,宽度不足的话就用黑边填充。
解决思路:把按照高度缩放改成按照宽度缩放,然后高出部分裁调。

修改方法:
1、打开e/class/gd.php
2、找到代码
if($big_width >= $max_width and $big_height >= $max_height)
{
if($big_width > $big_height)
{
$tempx = $max_width / $ratioh;
$tempy = $big_height;
$srcX = ($big_width – $tempx) / 2;
$srcY = 0;
}
修改成
if($big_width >= $max_width and $big_height >= $max_height)
{
if($big_width > $big_height)
{
$tempy = $max_height / $ratiow;
$tempx = $big_width;
$srcY = ($big_height – $tempy) / 2;
$srcX = 0;
}