欢迎光临
我们一直在努力

帝国cms:移动端同步生成插件,支持帝国7.2 和帝国7.5(附教程)

帝国cms无论7.2还是7.5版本,并不自带移动端静态同步生成功能,需要借助插件来完成同步生成移动端。这样才能使帝国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_once ECMS_PATH."e/adjective/mob/config.php";

include_once ECMS_PATH."e/adjective/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.4 在 if($enews==0)//生成大栏目 括号第一行插入代码:

$murl=m_ReturnBqClassname($classid,9);

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

$murl=m_ReturnBqZtname($classid);

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

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

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

$murl=$mob_r['msiteurl'];

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

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

至此,NewsBq函数修改完成。

五、NotinfoListHtml函数修改

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

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

//无信息的信息列表

function NotinfoListHtml($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函数修改完成。

 

未经允许不得转载:云站友 » 帝国cms:移动端同步生成插件,支持帝国7.2 和帝国7.5(附教程)

评论 抢沙发

评论前必须登录!

立即登录   注册