移动帝国CMS用一个后台刷新电脑端和手机端及手机跳转代码

- 编辑:爱思60度微信公众号(wangxi2004324235) -

从所周知,帝国确实强大,可是做手机端的时候,要用到二个后台,而且刷新的时候,也要在二个后台里面刷新。

我们先来看看帝国官方的解密:

帝国CMS7.5版多终端访问功能使用图文教程

原文:http://bbs.phome.net/showthread-13-329096-0.html 

随着PC互联网与移动互联网的不断融合、以及各类移动访问终端增加,网站移动互联越来越重要了,所以帝国CMS7.2版本在原来版本的多访问终端功能基础上,做出更多的改进,让网站多种移动访问端制作更加方便。下面我们来讲解帝国CMS7.2版本的“多终端访问功能”使用:

新增网站访问端步骤:

一、设置所有访问端统一的访问地址;

二、新增访问端使用的模板组;

三、新建访问端目录,并复制一份帝国CMS程序文件进去;

四、给新增的访问端目录绑定个二级域名;

五、到主访问端后台新增“网站访问端”;

六、到新访问端目录修改配置文件参数;

七、完成。

确实,帝国CMS7.5已经可以在同一个后台刷新两端,可是还是要先刷新完电脑端,再刷新手机端,才可以完成终极刷新。我相信这份解密非常多人看过吧!

这对我们一些站长来讲,真是一件非常蛋疼的事情。

那么,有没有更合理的方法,只需要刷新一次,即可以生成两端呢?

答案是有的,只要用上我们的插件,即可快速的完成刷新,并且数据非常完整,不会有任何的错漏。

我们来讲一下如何利用一个后台,一次刷新,就可以生成手机和电脑同步的页面。

第一步:拿到程序后,第一步是安装:

http://localhost/e/install/

第二步:安装好然后,还原数据库

blob.png

第三步:这一步是我们的精华部分,独立自主研发的插件,我们只需要一个后台就可以完成刷新

blob.png

blob.png

改造后的源代码,大家可以对比原来系统默认的。

<?php
define('InEmpireCMSHfun',TRUE);
//-------------- 公共区 ----------------------

//返回后台风格
function EcmsReturnAdminStyle(){
	global $public_r;
	$adminstyle=(int)getcvar('loginadminstyleid',1);
	if(!strstr($public_r['adminstyle'],','.$adminstyle.','))
	{
		$adminstyle=$public_r['defadminstyle']?$public_r['defadminstyle']:1;
	}
	return $adminstyle;
}

//返回后台管理信息栏目导航字符串
function AdminReturnClassLink($classid){
	global $class_r,$editor,$fun_r,$ecmscheck,$ecms_hashur;
	$addcheck='';
	if($ecmscheck)
	{
		$addcheck='&ecmscheck=1';
	}
	if($editor==1)
	{
		$addurl='../';
	}
	if(empty($class_r[$classid][featherclass]))
	{
		$class_r[$classid][featherclass]="|";
	}
	$r=explode("|",$class_r[$classid][featherclass].$classid."|");
	$string="";
	$count=count($r)-1;
	for($i=1;$i<$count;$i++)
	{
		$curl=$class_r[$r[$i]][islast]?"ListNews.php?classid=".$r[$i].$addcheck.$ecms_hashur['ehref']:"ListAllInfo.php?tbname=".$class_r[$r[$i]][tbname]."&classid=".$r[$i].$addcheck.$ecms_hashur['ehref'];
		$string.=" > ";
    }
	return $string;
}

//加验证代码
function AddCheckViewCode(){
	$code="if(!defined('InEmpireCMS'))
{
	exit();
}";
	return $code;
}

//加模板验证代码
function AddCheckViewTempCode(){
	$code="";
	return $code;
}

//后台分页
function page2($num,$line,$page_line,$start,$page,$search){
	global $fun_r;
	if($num<=$line)
	{
		return '';
	}
	$search=RepPostStr($search,1);
	$url=eReturnSelfPage(0).'?page';
	$snum=2;//最小页数
	$totalpage=ceil($num/$line);//取得总页数
	$firststr='  ';
	//上一页
	if($page<>0)
	{
		$toppage=' ';
		$pagepr=$page-1;
		$prepage='';
	}
	//下一页
	if($page!=$totalpage-1)
	{
		$pagenex=$page+1;
		$nextpage=' ';
		$lastpage=' ';
	}
	$starti=$page-$snum<0?0:$page-$snum;
	$no=0;
	for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
	{
		$no++;
		if($page==$i)
		{
			$is_1="";
		}
		else
		{
			$is_1='";
		}
		$pagenum=$i+1;
		$returnstr.=" ".$is_1.$pagenum.$is_2;
	}
	$returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
	return '';
}

//后台分页
function postpage($num,$line,$page_line,$start,$page,$form){
	global $fun_r;
	if($num<=$line)
	{
		return '';
	}
	$snum=2;//最小页数
	$totalpage=ceil($num/$line);//取得总页数
	$firststr='  ';
	//上一页
	if($page<>0)
	{
		$toppage=' ';
		$pagepr=$page-1;
		$prepage='';
	}
	//下一页
	if($page!=$totalpage-1)
	{
		$pagenex=$page+1;
		$nextpage=' ';
		$lastpage=' ';
	}
	$starti=$page-$snum<0?0:$page-$snum;
	$no=0;
	for($i=$starti;$i<$totalpage&&$no<$page_line;$i++) page="=$i)" is_1="fetch1("select tid,tbname from {$dbtbpre}enewsmod where mid='$mid'");
	return $r;
}

//建立专题目录
function CreateZtPath($ztpath){
	$createpath=eReturnTrueEcmsPath().$ztpath;
    $mk=DoMkdir($createpath);
	$createfilepath=$createpath.'/uploadfile';//建立附件目录
    $mk1=DoMkdir($createfilepath);
}

//建立栏目目录
function CreateClassPath($classpath){
	$createpath=eReturnTrueEcmsPath().$classpath;
	$mk=DoMkdir($createpath);
	$createfilepath=eReturnTrueEcmsPath().'d/file/'.$classpath;//建立附件目录
    $mk1=DoMkdir($createfilepath);
}

//建立标题分类目录
function CreateInfoTypePath($tpath){
	$createpath=eReturnTrueEcmsPath().$tpath;
    $mk=DoMkdir($createpath);
}

//建立栏目目录
function FormatClassPath($classpath,$islast){
	$r=explode("/",$classpath);
	$returnpath="";
	for($i=0;$i

第四步:

blob.png

第五步:

blob.png

备注:如果有子域名的,就直接把http://localhost/m/改成http://m.xxxx.com 即可!

C:/ecms/htdocs/m/这个路径,是根据你的实际路径得出。

最简单的方法,利用系统自带的适应功能。

blob.png

blob.png

点击增加,就可以自动生成访问端目录了,所有的网站通用。

再讲解一下:

帝国cms电脑网站跳转到手机动态网站和手机静态网站的方法

方法一:帝国pc站跳转到手机静态站

1、假设我们有帝国cms 电脑网站www.lazybirdfly.com,手机网站m.lazybirdfly.com ,手机网站使用帝国cms的多访问端功能制作,如果不了解帝国cms多访问端制作手机网站的方法,请参考:http://www.lazybirdfly.com/a/ecms/658.html

现在电脑端和手机端都是生成静态网站,除了域名不同,静态连接地址都是相同的,例如:

www.lazybirdfly.com/china/1.html对应 m.lazybirdfly.com/china/1.html

2、接下来要给电脑网站的首页、列表页、内容页的模板添加跳转代码,方法如下:

js是浏览器跳转,meta是告诉搜索引擎移动页面的地址。

(1)首页模板需添加下面代码

<script type="text/javascript">
try {var urlhash = window.location.hash;if (!urlhash.match("fromapp"))
{if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i)))
{window.location="http://m.lazybirdfly.com/";}}}
catch(err)
{
}</script>
<meta name="mobile-agent" content="format=xhtml;url=http://m.lazybirdfly.com/">

(2)封面页和列表页添加下面代码

<script type="text/javascript">
try {var urlhash = window.location.hash;if (!urlhash.match("fromapp"))
{if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i)))
{window.location="http://m.lazybirdfly.com<?=sys_ReturnBqClassUrl($class_r[$GLOBALS[navclassid]]);?>";}}}
catch(err)
{
}</script>
<meta name="mobile-agent" content="format=xhtml;url=http://m.lazybirdfly.com<?=sys_ReturnBqClassUrl($class_r[$GLOBALS[navclassid]]);?>">

(3)内容页添加下面代码

<script type="text/javascript">
try {var urlhash = window.location.hash;if (!urlhash.match("fromapp"))
{if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i)))
{window.location="http://m.lazybirdfly.com[!--titleurl--]";}}}
catch(err)
{
}</script>
<meta name="mobile-agent" content="format=xhtml;url=http://m.lazybirdfly.com[!--titleurl--]">

添加完上面代码后,帝国cms的电脑网站的每个页面都可以跳转到手机静态网站了。

但手机静态站是有缺点的,每次我们更新电脑端文章,都要去手机端后台重新生成一下html,比较麻烦,所以我们可以把手机站设置成动态访问,接下来就讲解一下电脑端跳转手机动态站的方法。

方法二:帝国cms电脑网站跳转到手机动态站的方法

1、首先在电脑端的多访问端设置,把手机端设置成强制动态页面模式。这样手机站就是动态了,不用每次都去生成html 。

2、接下来就是给电脑端模板的首页、列表页、内容页添加相依跳转代码,和方法一类似。

js是浏览器跳转,meta是告诉搜索引擎移动页面的地址。

(1)首页模板需添加下面代码


2)封面页和列表页添加下面代码


(3)内容页添加下面代码


有时候,也会跳转不了,主要是因为冲突造成的!有二个跳转JS,可能是jquery-1.8.3.min.js 也有可能隐含在jquery.js里面!

if (is_mobile()) {
    document.location.href = '/wap/';
}

function is_mobile() {
    var regex_match = /(nokia|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|webos|techfaith|palmsource|alcatel|amoi|nexian|samsung|^sam-|s[cg]h|^lge|ericsson|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|phone|windows ce|iemobile|^spice|^bird|^zte-|longcos|pantech|gionee|^sie-|portalmmm|jigs browser|hiptop|^benq|haier|^lct|operas*mobi|opera*mini|320x320|240x320|176x220)/i;

    var u = navigator.userAgent;
    if (null == u) {
        return true;
    }
    var result = regex_match.exec(u);

    if (null == result) {
        return false
    } else {
        return true
    }
}

需要插件的朋友,可以联系QQ:52440488。你的支持,是我们永远进步的动力。


99%的人还阅读了:

预防网站给恶意攻击必须要在网站模板登陆、注册、留言加入验证码

如何解决帝国灵动标签调用栏目名称网站模板出现的却是栏目别名问题?

帝国CMS调用tag标签模板实现相关文章聚合方法

公众号搜索“爱思60度”,领取大礼包

微信二维码

来源:,欢迎分享本文,转载请保留出处!(微信公众号:wangxi2004324235)