帝国ecms

帝国cms自动/同步生成手机版静态插件

DevX · 12月2日 · 2020年 · · · ·

首先安装下面的方法安装好插件之后,需要修改functions.php,不过如果没有修改过这个文件的,可以直接使用附件的functions.php替换。

替换完成之后就是去后台-插件-移动端同步生成(在左下角),里面把参数全部设置好。

设置好之后,需要修改pc模板跳转手机端的参数,具体为:

<script src=”/js/uaredirect.js” type=”text/javascript”></script><script type=”text/javascript”>uaredirect(“[–murl–]”);</script>

注意:所有的pc模板都修改成这个就行,不需要带其他参数。

完成!!!

具体使用方法,可以参考下附件里面的使用方法:

—————————————————————————–

插件名称:移动端同步生成插件

帝国cms自动生成手机版静态插件

——————————————–

******************** 安装插件 ********************

1、在帝国CMS系统e目录下新建文件夹zhangfei,将安装包内的“mob”文件夹上传至/e/zhangfei/目录;

2、在浏览器中执行 /e/zhangfei/mob/install/ ,依提示进行安装;

3、提示安装完成后,删除 /e/zhangfei/mob/install/ 目录,若是linux服务器,必须将 e/zhangfei/mob/config.php文件设置为0777权限;

4、修改e/class/functions.php文件,修改方法见:functions.php修改说明(如果fuctions.php没有做其它修改直接覆盖就可以了)。如果你的网站是帝国原版文件,没有做过其它修改,则可以用文件包里“其它文件”下的文件做替换;否则,需要按照方法一一修改;

5、插件安装完毕。

******************** 卸载插件 ********************

1、将安装包内“tag/install/”目录上传至服务器帝国CMS系统/e/zhangfei/tag/目录;

2、在浏览器中执行 /e/zhangfei/tag/install/ 文件,依提示进行卸载;

3、提示卸载完成后,删除 /e/zhangfei/tag/ 目录;

4、采用帝国原版的e/class/functions.php文件覆盖当前文件即可,或者按照以上安装步骤将添加的内容一一删除还原;

5、插件卸载完毕。

******************** 插件使用 ********************

1、请先设置参数

2、本主端的模板中,可以使用[–murl–]标签调用与之对应的移动端页面url

然后是functions.php 修改说明

帝国CMS 移动端同步生成功能修改文件方法

“移动端同步生成”插件使用,需要修改的文件为e/class/functions.php,修改的函数一共五个,分别是:

ListHtml——生成栏目类列表函数;

ListHtmlIndex——生成专题类列表函数;

GetHtml——生成内容页函数;

NewsBq——生成首页、封面页函数;

NotinfoListHtml——列表页生成辅助函数。

一、ListHtml函数修改

查找“//生成信息列表”可快速找到此函数。

1.1在此函数的第一行,global尾部插入$mob_r全局变量,插入后第一行变成:

global$empire,$dbtbpre,$emod_r,$public_r,$class_r,$class_zr,$fun_r,$class_tr,$level_r,$etable_r,$mob_r;

1.2在此函数的第二行插入代码

include_onceECMS_PATH."e/zhangfei/mob/config.php";
include_onceECMS_PATH."e/zhangfei/mob/dp_funs.php";

1.3此函数有4个if($enews=)分支,每个分支都有$dolink=代码

在前3处的$dolink下一行插入代码

$mdolink=$mob_r['msiteurl'].$doclasspath."/";

第四处分支插入代码

$mdolink=$mob_r['msiteurl'].str_replace($userlistr['addpath'].'../../','',$dopath);

1.4查找“//无信息”,将此if(empty($num))语句改为以下代码:

//无信息
if(empty($num))
{
$noinfopath=$dopath."index".$dotype;
NotinfoListHtml($noinfopath,$list_r,$classlevel,$mdolink);
m_ListHtml($classid,$fields,$enews,$userlistr);
return"";
}

1.5查找“//替换分页数”,在其上插入代码:

//移动端网址
if($pagenum==1){
$murl=$mdolink;
}else{
$murl=$mdolink."index_".$ok.$dotype;
}
$string=str_replace('[--murl--]',$murl,$string);

1.6在此函数的尾部代码$empire->free($sql);上一行插入代码:

m_ListHtml($classid,$fields,$enews,$userlistr);

至此,ListHtml函数修改完毕。

二、ListHtmlIndex函数修改

查找“//生成索引类信息列表”可快速找到此函数。

2.1在global中插入$mob_r全局变量,操作方法完全等同于1.1;

2.2在函数第二行引入config文件以及dp_funs.php文件,操作方法完全等同于1.2;

2.3此函数有3个if($enews=)分支,每个分支都有 $dolink= 代码。

在第一处代码下一行插入:

$mdolink=$mob_r['msiteurl'].$doclasspath."/";

在第二处代码下一行插入:

$mdolink=$mob_r['msiteurl'].$doclasspath."/type".$classid.$cr['ttype'];

在第三处代码下一行插入:

$mdolink=$mob_r['msiteurl'].str_replace($userlistr['addpath'].'../../','',$dopath);

2.4查找“//无信息”,将此if(empty($num))语句改为以下代码:

//无信息
if(empty($num))
{
$noinfopath=$dopath.$dofile.$dotype;
NotinfoListHtml($noinfopath,$list_r,$classlevel,$mdolink);
m_ListHtmlIndex($classid,$fields,$enews,$userlistr);
return"";
}

2.5查找“//替换分页数”,在其上插入代码:

//移动端网址
if($pagenum==1){
$murl=$mdolink;
}else{
$murl=$mdolink."index_".$ok.$dotype;
}
$string=str_replace('[--murl--]',$murl,$string);

2.6在此函数的尾部代码$empire->free($sql);上一行插入代码:

m_ListHtmlIndex($classid,$fields,$enews,$userlistr);

至此,ListHtmlIndex函数修改完毕。

三、修改GetHtml函数

查找“//生成内容文件”可快速找到此函数。

3.1在global中插入$mob_r全局变量,操作方法完全等同于1.1;

3.2在函数第二行引入config文件以及dp_funs.php文件,操作方法完全等同于1.2;

3.3找到“$dolink,在其下插入代码:

$mdolink=$mob_r['msiteurl'].$iclasspath.$newspath;

3.4查找“//写文件”,一共找到两处

在第一处插入代码:

if($j==1){
$murl=$mdolink.$add[filename].$filetype;
}else{
$murl=$mdolink.$add[filename].'_'.$j.$filetype;
}
$string=str_replace('[--murl--]',$murl,$string);

在第二处插入代码:

$murl=$mdolink.$add[filename].$filetype;
$string=str_replace('[--murl--]',$murl,$string);

3.5在函数末尾插入代码:

mGetHtml($classid,$id,$add,1,1);

至此,GetHtml函数修改完成。

四、NewsBq函数修改

查找“function NewsBq”可快速找到此函数。

4.1在global中插入$mob_r全局变量,操作方法完全等同于1.1;

4.2在函数第二行引入config文件以及dp_funs.php文件,操作方法完全等同于1.2;

4.3在语句“if($enews==0),上方插入代码:

mNewsBq($classid,$indextext,$enews,$doing);

4.4if($enews==0)//生成大栏目括号第一行插入代码:

$murl=m_ReturnBqClassname($classid,9);

4.5elseif($enews==3)//专题括号第一行插入代码:

$murl=m_ReturnBqZtname($classid);

4.6elseif($enews==4)//专题子类括号第一行插入代码:

$murl=m_ReturnBqZtname($classid).'type'.$classid.$cr['ttype'];

4.7elseif($enews==1)//生成首页文件括号第一行插入代码:

$murl=$mob_r['msiteurl'];

4.8在 //替换标签 上一行插入代码:

$indextext=str_replace('[--murl--]',$murl,$indextext);

至此,NewsBq函数修改完成。

五、NotinfoListHtml函数修改

查找“//无信息的信息列表”可快速找到此函数。

将此函数替换成如下代码:

//无信息的信息列表
functionNotinfoListHtml($path,$list_r,$classlevel,$mdolink){
global$fun_r;
$word=$fun_r['HaveNotListInfo'];
$pagetext=$list_r[0].$word.$list_r[2];
$pagetext=str_replace('[!--show.page--]','',$pagetext);
$pagetext=str_replace('[!--show.listpage--]','',$pagetext);
$pagetext=str_replace('[!--list.pageno--]','',$pagetext);
$pagetext=str_replace('[--murl--]',$mdolink,$pagetext);
WriteFiletext($path,$classlevel.$pagetext);
}

至此,NotinfoListHtml函数修改完成。

0 条回应