我是靠谱客的博主 感性雪碧,最近开发中收集的这篇文章主要介绍帝国自动生成html,帝国CMS7.2同步生成移动端HTML,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1)后台添加变量:

变量名: mobile_tpl_id, 标识: 手机端模板ID, 写入缓存

2)要注意PC和移动端模板ID一定要一一对应,不对应的要修改数据库表的ID

封面模板 phome_enewsclasstemp和phome_enewsclasstemp_x(x为数字)

列表模板 phome_enewslisttemp和phome_enewslisttemp_x(x为数字)

内容模板 phome_enewsnewstemp和phome_enewsnewstemp_x(x为数字)

其他还有几个,用到的话,自己找下。

3)在/e/class/functions.php文件最后面添加进下面的代码,注意注意,下面的代码里出现的函数,把原程序里相同的函数都在函数名末尾加一个_bak。比如程序里原来的

function ListHtml($classid,$fields,$enews=0,$userlistr=””){

要改成

function ListHtml_bak($classid,$fields,$enews=0,$userlistr=””){

// 不方便传递参数的时候,使用全局变量,0为PC端,1为移动端

$current_port = 0;

function get_port(){

global $current_port;

return $current_port;

}

function set_port($val){

global $current_port;

$current_port = $val;

}

//刷新首页

function ReIndex(){

foreach(array(0,1) as $is_mobile){

set_port($is_mobile);

$indextemp=GetIndextemp();//取得模板

NewsBq($classid,$indextemp,1,0);

}

printerror("ReIndexSuccess","history.go(-1)");

}

//模板表转换

function GetTemptb($temptb){

global $public_r,$dbtbpre;

if(get_port()){

$tempid = $public_r['add_mobile_tpl_id'];

}else{

$tempid=$public_r['deftempid'];

}

if(!empty($tempid)&&$tempid!=1)

{

$en="_".$tempid;

}

return $dbtbpre.$temptb.$en;

}

//返回当前根目录

function eReturnTrueEcmsPath(){

if(get_port()){

$add_path = "/mobile/";

}else{

$add_path = "";

}

if(defined('ECMS_SELFPATH'))

{

return ECMS_SELFPATH.$add_path;

}

else

{

return ECMS_PATH.$add_path;

}

}

//写文件

function WriteFiletext($filepath,$string,$strip=TRUE){

global $public_r;

if($strip){

$string=stripSlashes($string);

}

$dir = dirname($filepath);

if(!file_exists($dir) && !mkdir($dir, true)){

exit("创建目录失败({$dir})");

}

if(!chmod($dir,0777)){

exit("修改目录权限失败({$dir})");

}

if(!file_put_contents($filepath, $string)){

exit("写入文件失败({$filepath})");

}

@chmod($filepath,0666);

}

//写文件

function WriteFiletext_n($filepath,$string){

WriteFiletext($filepath,$string,FALSE);

}

//生成列表

function ListHtml($classid,$fields,$enews=0,$userlistr=""){

foreach(array(1) as $is_mobile){

set_port($is_mobile);

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

}

}

//生成内容文件

function GetHtml($classid,$id,$add,$ecms=0,$doall=0){

foreach(array(0,1) as $is_mobile){

set_port($is_mobile);

GetHtml_bak($classid,$id,$add,$ecms,$doall=0);

}

}

另有一处需要在函数中添加的代码

function ListHtml_bak > elseif($enews==4) >

$dopath=$userlistr['addpath'].$userlistr['filepath'];

$dolink=$public_r[newsurl].str_replace($userlistr['addpath'].'../../','',$dopath);

在这上面这两行的下面添加

if(get_port() == 1){

$realpath = realpath($dopath);

$dopath = str_replace(dirname(eReturnTrueEcmsPath()), eReturnTrueEcmsPath(), $realpath).'/';

}

经过上面的修改后,可同步生成首页,列表,文章,自定义列表。

最后

以上就是感性雪碧为你收集整理的帝国自动生成html,帝国CMS7.2同步生成移动端HTML的全部内容,希望文章能够帮你解决帝国自动生成html,帝国CMS7.2同步生成移动端HTML所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部