dede全站做移动跳转+适配,精通dede和PHP的来!

dede全站做移动跳转+适配,精通dede和PHP的来!,第1张

考虑到中小型网站中Dedecms使用概率较高,今天我们特地邀请了百度站长社区版主—洪石陈来为大家做Dedecms移动适配分享。

第一步:安装Dedecms移动站点的两种方式

(1)下载新版本直接安装使用,Dedecms版本:V57SP1正式版(2015-06-18)该版本包含旧版本所没有的移动站点功能。

(2)老版本升级(仅针对增加移动站点功能),下载最新版本(注意网站编码需与原站一致),复制压缩包中以下文件到原站对应目录下:

注意:如果原站有非默认模板,如某栏目模板为/templets/defaultst_default_newshtm,可将/templets/defaultst_default_mhtm复制一份改名为list_default_news_mhtm。

即:pc端网站模板需有对应的移动端网站模板,后者文件名为前者文件名后“_m”。

安装或升级dedecms完成,此时应该就可以进行移动跳转适配了,但,dedecms20150618版本提供的移动站点功能在使用过程中发现一些问题,需要进行修改后才可正常使用,所以有了下面的dedecms修改步骤…

第二步:修改Dedecms

(1)原站如做了将DATA移到根目录外的安全设置,需修改/m/indexphp代码

if(!file_exists(dirname(__FILE__)'//data/commonincphp'))

{

header('Location:install/indexphp');

exit();

}

将其中//data/commonincphp改为///data/commonincphp,或直接将以上5行代码删除。

(2) 移动站点首页在会第一次访问时自动生成首页静态文件,前提是/m/目录需设置为可写权限,否则将无法正常更新。之后更新首页静态文件需登陆后台手动更新:在“更新主页HTML”中将“选择主页模板”改为“default/index_mhtm”,将“主页位置”改为“/m/indexhtml”,再生成主页静态文件。

注:该版本号称“自动生成HTML版”,但默认移动站模板里却有<ahref="indexphp">的动态首页链接,需替换为<ahref="indexhtml">静态链接形式。

※如觉得使用静态页面麻烦,想将首页设置为动态浏览,可修改/m/indexphp:

$row['showmod']= isset($row['showmod']) $row['showmod'] : 0;

if ($row['showmod'] == 1)

{

$pv->SaveToHtml(dirname(__FILE__)'/indexhtml');

include(dirname(__FILE__)'/indexhtml');

exit();

}

else {

$pv->Display();

exit();

}

以上代码替换为一行:$pv->Display();

第三步:首页“图文资讯”部分的url为pc端链接,修改为移动端链接:

搜索模板/templets/default/index_mhtm中所有<a href="[field:arcurl/]"> ,替换为<ahref="viewphpaid=[field:id/]">

第四步:通用头部含有搜索框,搜索跳转至pc端搜索页面,建议删除:

在/templets/default/header_mhtm中删除以下代码:

<form class="am-topbar-form am-topbar-leftam-form-inline am-topbar-right" role="search"action="{dede:globalcfg_cmsurl/}/plus/searchphp">

<input type="hidden" name="mobile"value="1" />

<input type="hidden" name="kwtype"value="0" />

<div class="am-form-group">

<input name="q" type="text"class="am-form-field am-input-sm" placeholder="输入关键词">

</div>

<button type="submit" class="am-btnam-btn-default am-btn-sm">搜索</button>

</form>

第五步: 移动站点默认使用二级目录,但目前移动适配需要使用二级域名(前段时间是可以使用二级目录的,但目前已调整,不能再提交二级目录),所以我们要设置移动站可通过二级域名访问,解析二级域名至网站所在服务器ip,并在服务器/空间上将二级域名绑定到/m/目录。

成功设置二级域名后,通过二级域名浏览网站会发现均无法显示,原因是路径有误——路径为“/uploads/x/yjpg”

相对根目录路径形式,在pc站页面中显示正常,因为pc站域名下存在该目录,而二级域名绑定的是二级目录,其中并不存在该目录,

所以访问会返回 404错误。对此,有多种解决方案,下面提供两个思路(示例pc站:>将对>

代码如下:

<% String basepath 

=requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort() ;

String Path = requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+path+"/"+requestgetContextPath()+"/"; 

String uri=requestgetRequestURI();   

uri=urisubstring(urilastIndexOf("/")+1);  //获得是最后的hellojsp 

%>

(上例中,Path路径就是图中的)

说明:

1requestgetContextPath()  返回站点的根目录,如:‘’/demo‘’

2requestgetRealpath("/")得到的是实际的物理路径,也就是你的项目所在服务器中的路径

3requestgetScheme() 等到的是协议名称,默认是>

4requestgetServerName() 得到的是在服务器的配置文件中配置的服务器名称 比如:localhost baiducom 等等

5requestgetServerPort() 得到的是服务器的配置文件中配置的端口号 比如 8080等等

OK,满意的话请好评!O(∩_∩)O~

首先找到include/taglib/channellibphp文件,找到59行,代码如下:

--------------------------------------------

else if($type=='self')

{

if($reid==0) return '';

$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";

}

在此段代码之后,添加:

else if($type=='parent')

{ //新增代码 获得上级栏目

if($reid==0) return '';

$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

FROM `#@__arctype` WHERE id='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";

}

---------------------------------------

接下来继续往后找到代码:

//处理同级栏目中,当前栏目的样式

if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )

修改为:

//处理同级栏目中,当前栏目的样式

if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') || ($row['id']==$reid && $type=='parent' )) && $currentstyle!='' )

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

前台调用方法:

{dede:channel type='parent'}{/dede:channel}

设置或获取对象指定的文件名或路径。\x0d\\x0d\alert(windowlocationpathname)\x0d\\x0d\\x0d\设置或获取整个URL为字符串。\x0d\\x0d\\x0d\alert(windowlocationhref);\x0d\\x0d\设置或获取与URL关联的端口号码。\x0d\\x0d\alert(windowlocationport)\x0d\\x0d\\x0d\设置或获取URL的协议部分。\x0d\\x0d\alert(windowlocationprotocol)\x0d\\x0d\\x0d\设置或获取href属性中在井号“#”后面的分段。\x0d\\x0d\alert(windowlocationhash)\x0d\\x0d\\x0d\设置或获取location或URL的hostname和port号码。\x0d\\x0d\alert(windowlocationhost)\x0d\\x0d\\x0d\设置或获取href属性中跟在问号后面的部分。\x0d\\x0d\alert(windowlocationsearch)\x0d\

这个也不麻烦

你找到include下的arclistviewclassphp文件

插入一段查询,就查询dede_arctype表中的typedir字段值

然后赋值给一个变量,比如$typedir

然后把$listdd="<a href='"str_replace("{page}",$j,$tnamerule)"'>"$j"</a>\r\n";

改为$listdd="<a href='"$typedir\/str_replace("{page}",$j,$tnamerule)"'>"$j"</a>\r\n";

加域名就简单了,不用说你也应该知道怎么加了。

码一:

<script>

function selecturl(){

z=documentbodycreateTextRange();

zmoveToElementText(selecturlDiv);

zselect();

}

</script>

<span onmousemove='selecturl()' id=selecturlDiv><script>documentwrite(locationhref)</script>

代码二:

<script>

function copyCode(o){oselect();var js=ocreateTextRange();jsexecCommand("Copy");alert("复制成功!");}

documentwrite("<table align=center class=tableborder1 cellpadding=1 cellspacing=0><tr>");

documentwrite("<td width=10% nowrap class=tablebody1>本页URL地址(双击复制):</td>");

documentwrite("<td class=tablebody1><textarea onfocus=thisselect() style='width:100%;overflow-y:visible;' ondblclick=copyCode(this) rows=1>");

documentwrite(selflocation+"</textarea></td></tr></table>");

</script>

代码三:

<script language="javascript">

<!--

function copyToClipBoard(){

var clipBoardContent=documentlocation;

clipBoardContent+='\r\n';

windowclipboardDatasetData("Text",clipBoardContent);

alert("耶!复制成功喽!你可以粘贴在QQ消息里送给你的好朋友呀!再次感谢你对 的支持哦!");

}

//-->

</script>

<script language='javascript'>

documentwrite("<img src=\"templates//images/dbgif\" width=\"49\" height=\"17\">");

documentwrite("<input size=\"60\" value=\""+documentlocation+"\"><input type=\"button\" value=\"推荐给朋友\" title=\"点击复制地址到剪贴板,直接在MSN/QQ上粘贴即可\" onclick=\"copyToClipBoard()\">");

</script>

以上就是关于dede全站做移动跳转+适配,精通dede和PHP的来!全部的内容,包括:dede全站做移动跳转+适配,精通dede和PHP的来!、jsp怎么获取当前页面的url、织梦 dede 5.7版本 如何调用上级栏目的名称 和 链接。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9547293.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存