帝国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函数修改完成。
评论前必须登录!
立即登录 注册