帝国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/dongpo/mob/config.php";
include_once ECMS_PATH."e/dongpo/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)