百独托管7500 紫田网络超高转化播放器收cps[推荐]速盾CDN 免实名免备防屏蔽阿里云 爆款特卖9.9元封顶提升alexa、IP流量7Q5团队
【腾讯云】中小企福利专场【腾讯云】多款产品1折起高防 随时退换 好耶数据小飞国外网赚带你月入万元炎黄网络4H4G10M 99每月
香港带宽CN2/美国站群优惠中客数据中心 服务器租用联盟系统移动广告平台 中易企业专场腾讯云服务器2.5折九九数据 工信部正规资质
腾讯云新用户大礼包代金券高价收cpa注册量高价展示【腾讯云】2核2G/9.93起租服务器找45互联 随时退换阿里云 短信服务 验证秒达

[落伍原创] 帝国CMS同步生成移动端HTML [复制链接]
查看:6031 | 回复:20

1997

主题

6791

帖子

2万

积分

落伍者(四季发财)

Rank: 4

贡献
424
鲜花
135
注册时间
2013-7-1

QQ绑定落伍微信绑定落伍手机绑定

发表于 2015-12-10 20:17:30 | 显示全部楼层 |阅读模式 来自 中国辽宁朝阳
本帖最后由 服务器之家 于 2015-12-10 22:57 编辑

我十分理解不了WC为什么不在原版程序里改进,这样非官方的HACK在日后维护是非常麻烦的。

原理大概就是这样,程序里有几个生成函数(暂称makexxx),比如首页,列表,内容。
那么就
function makexxx(){
    foreach(array(0, 1) as $is_mobile){
        makexxx_do();// 0的时候生成PC端,1的时候生成移动端
    }
}

===============================================

详细步骤
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=""){
  1. // =================================  增加代码  =================================


  2. // 不方便传递参数的时候,使用全局变量,0为PC端,1为移动端
  3. $current_port = 0;

  4. function get_port(){
  5.         global $current_port;
  6.         return $current_port;
  7. }

  8. function set_port($val){
  9.         global $current_port;
  10.         $current_port = $val;
  11. }


  12. //刷新首页
  13. function ReIndex(){
  14.         foreach(array(0,1) as $is_mobile){
  15.                 set_port($is_mobile);
  16.                 $indextemp=GetIndextemp($is_mobile);//取得模板
  17.                 NewsBq($classid,$indextemp,1,0);
  18.         }
  19.         printerror("ReIndexSuccess","history.go(-1)");       
  20. }

  21. //模板表转换
  22. function GetTemptb($temptb){
  23.         global $public_r,$dbtbpre;
  24.         if(get_port()){
  25.                 $tempid = $public_r['add_mobile_tpl_id'];
  26.         }else{
  27.                 $tempid=$public_r['deftempid'];
  28.         }
  29.         if(!empty($tempid)&&$tempid!=1)
  30.         {
  31.                 $en="_".$tempid;
  32.         }
  33.         return $dbtbpre.$temptb.$en;
  34. }

  35. //返回当前根目录
  36. function eReturnTrueEcmsPath(){
  37.         if(get_port()){
  38.                 $add_path = "/mobile/";
  39.         }else{
  40.                 $add_path = "";
  41.         }

  42.         if(defined('ECMS_SELFPATH'))
  43.         {
  44.                 return ECMS_SELFPATH.$add_path;
  45.         }
  46.         else
  47.         {
  48.                 return ECMS_PATH.$add_path;
  49.         }
  50. }

  51. //写文件
  52. function WriteFiletext($filepath,$string,$strip=TRUE){
  53.         global $public_r;
  54.         if($strip){
  55.                 $string=stripSlashes($string);
  56.         }
  57.         $dir = dirname($filepath);
  58.         if(!file_exists($dir) && !mkdir($dir, true)){
  59.                 exit("创建目录失败({$dir})");
  60.         }
  61.         if(!chmod($dir,0777)){
  62.                 exit("修改目录权限失败({$dir})");
  63.         }
  64.         if(!file_put_contents($filepath, $string)){
  65.                 exit("写入文件失败({$filepath})");
  66.         }
  67.         @chmod($filepath,0666);
  68. }

  69. //写文件
  70. function WriteFiletext_n($filepath,$string){
  71.         WriteFiletext($filepath,$string,FALSE);
  72. }

  73. //生成列表
  74. function ListHtml($classid,$fields,$enews=0,$userlistr=""){
  75.         foreach(array(0,1) as $is_mobile){
  76.                 set_port($is_mobile);
  77.                 ListHtml_bak($classid,$fields,$enews=0,$userlistr="");
  78.         }
  79. }

  80. //生成内容文件
  81. function GetHtml($classid,$id,$add,$ecms=0,$doall=0){
  82.         foreach(array(0,1) as $is_mobile){
  83.                 set_port($is_mobile);
  84.                 GetHtml_bak($classid,$id,$add,$ecms=0,$doall=0);
  85.         }
  86. }
复制代码



4)移动端生成的目录在主站根目录下的mobile目录。把css等模板文件放在这里就OK了。


首页和列表和文章页的完成了,其他的,再搞个自定义列表,还有别的需要搞么?

评分

参与人数 1鲜花 +2 收起 理由
heihei1314 + 2 能帮弄个 xiaocms的不。。。

查看全部评分

回复

使用道具 举报

落伍网友
落伍网友  发表于 2015-12-10 21:04:33 来自 中国江苏苏州
没人给楼主点赞,我来给楼主点赞,楼主太厉害了
回复 支持 反对

使用道具 举报

695

主题

3070

帖子

3729

积分

落伍者(两全齐美)

Rank: 2

贡献
176
鲜花
1
注册时间
2007-8-14
发表于 2015-12-10 21:21:33 | 显示全部楼层 来自 中国北京
路过帮顶
微商 | http://www.62390.com http://www.369fanli.com
回复

使用道具 举报

89

主题

2887

帖子

4051

积分

落伍者(两全齐美)

Rank: 2

贡献
2488
鲜花
8
注册时间
2009-1-1

落伍手机绑定

发表于 2015-12-10 21:50:03 | 显示全部楼层 来自 中国广东
帝国CMS同步生成移动端HTML  说的很好
回复 支持 反对

使用道具 举报

128

主题

4349

帖子

4390

积分

落伍者(两全齐美)

Rank: 2

贡献
939
鲜花
48
注册时间
2008-1-1

QQ绑定落伍手机绑定

发表于 2015-12-10 22:36:00 | 显示全部楼层 来自 中国湖北鄂州
帝国CMS同步生成移动端HTML  说的很好
回复 支持 反对

使用道具 举报

252

主题

7440

帖子

4365

积分

落伍者(两全齐美)

木头菩萨

Rank: 2

贡献
3927
鲜花
19
注册时间
2007-10-27

落伍手机绑定

发表于 2015-12-10 22:41:37 | 显示全部楼层 来自 中国湖南长沙
赞一个啊,最好专题页也弄一个。
回复 支持 反对

使用道具 举报

1997

主题

6791

帖子

2万

积分

落伍者(四季发财)

Rank: 4

贡献
424
鲜花
135
注册时间
2013-7-1

QQ绑定落伍微信绑定落伍手机绑定

 楼主| 发表于 2015-12-10 22:57:44 | 显示全部楼层 来自 中国辽宁朝阳
mutoupusa 发表于 2015-12-10 22:41
赞一个啊,最好专题页也弄一个。

打错了,是自定义列表,已经搞完了,不是专题,专题不打算搞了。
回复 支持 反对

使用道具 举报

3893

主题

5万

帖子

1万

积分

落伍者(四季发财)

自己理解

Rank: 4

贡献
2784
鲜花
1207
注册时间
2009-9-18

落伍手机绑定

发表于 2015-12-10 23:55:18 | 显示全部楼层 来自 中国福建漳州
为什么不把内置的wap功能里的模板改一下 不就行了
LOGO设计 50元 微信amwdhqc 暗号mjj
回复 支持 反对

使用道具 举报

575

主题

1万

帖子

6961

积分

落伍者(三羊开泰)

Rank: 3Rank: 3

贡献
1424
鲜花
57
注册时间
2005-3-21

落伍手机绑定

发表于 2015-12-11 00:04:10 | 显示全部楼层 来自 中国广东深圳
楼主牛C
回复

使用道具 举报

176

主题

1万

帖子

6781

积分

落伍者(三羊开泰)

勃起党头目

Rank: 3Rank: 3

贡献
2139
鲜花
28
注册时间
2006-1-14

落伍者落伍手机绑定

发表于 2015-12-11 00:25:13 | 显示全部楼层 来自 中国北京
为什么手机端也要生成静态?用wap不是更好?
www.aguo.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2024-5-12 17:22 , Processed in 0.124971 second(s), 33 queries , Gzip On.

返回顶部