欢迎访问融科网络!我们专注于郑州网站建设郑州网站制作郑州网站设计郑州做网站等相关服务!
营销之道 干货分享
了解企业新动态,分享前沿的营销推广干货,成长路上,我们携手同行

编程代码

DedeCMS筛选伪静态跳转手机端JS

标签: 作者:融科网络 | 点击:
05

Nov
2019

导语
大家对本博客帖子《DedeCMS多条件筛选以筛选词为标题》即最新版DedeCMS V5.7自定义筛选功能基本都能掌握了,接下来分享本人研究整理的一个后台管理手机端、电脑用JS代码匹配跳转,如果
 

大家对本博客帖子《DedeCMS多条件筛选以筛选词为标题》即最新版DedeCMS V5.7自定义筛选功能基本都能掌握了,接下来分享本人研究整理的一个后台管理手机端、电脑用JS代码匹配跳转,如果还想做成伪静态,新闻有点长就慢慢看咯。

一个后台管理生成手机端和电脑端的静态页面

如果用一个后台管理电脑和手机端,不用dede默认的手机端源码,参考新闻《DedeCMS一个后台管理电脑和手机端纯静态非官方版》。

动态列表判断当前设备自动跳转

筛选列表为动态列表,未作伪静态前,一般路径为:域名/plus/list.php?tid=1。手机端的静态页面实际上是依靠更新时切换源码实现的,但对筛选的动态列表却不能实现手机端和电脑端源码的自动选择。经笔者测试有效办法如下:

1.复制/plus目录下的list.php更名为wap_list.php;

2.复制/include目录下arc.sglistview.class.php和arc.listview.class.php并分别更名为wap_arc.sglistview.class.php和wap_arc.listview.class.php;

3.打开wap_list.php找到

include(DEDEINC."/arc.sglistview.class.php"); $lv = new SgListView($tid,$cArr); } else { include(DEDEINC."/arc.listview.class.php");  

修改为

include(DEDEINC."/wap_arc.sglistview.class.php"); $lv = new SgListView($tid,$cArr); } else { include(DEDEINC."/wap_arc.listview.class.php");  

4.打开/include/wap_arc.sglistview.class.php,v5.7版本在2015年6月更新后增加了手机端的自适应,如果是老版本的找到相应的位置修改就好,大概在227行,/include/wap_arc.listview.class.php,大概在266行,橙色部分为增加内容:"/pc/"和"/wap/"为/templates目录下的源码路径,根据实际情况填写

//初始化列表源码,并统计页面总数 $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$this->TypeLink->TypeInfos['templist']; $tempfile = str_replace("{tid}",$this->TypeID,$tempfile); $tempfile = str_replace("{cid}",$this->ChannelUnit->ChannelInfos['nid'],$tempfile); //增加wap $tempfile = str_replace("/pc/","/wap/",$tempfile) if(!file_exists($tempfile)) { $tempfile = str_replace("/wap/","/pc/",$tempfile); } //增加wap  

5.用《DedeCMS一个后台管理电脑和手机端纯静态非官方版》的办法需要电脑和手机端源码下的各个频道所使用的源码名称完全一样。

6.跳转代码很多种,新闻《DedeCMSPC端列表和内容跳转到对应手机端》是静态列表,下面是动态列表的办法。

在系统-系统基本参数-添加新变量:变量名为stylewap,变量值为wap,参数说明为手机端源码,把以下代码放到相应的列表源码即可:

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.stylewap/}/plus/wap_list.php?tid={dede:field.id/}"> <script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="{dede:global.stylewap/}/plus/wap_list.php?tid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>  

DedeCMS筛选伪静态规则请看下一页。

DedeCMS筛选列表伪静态规则

DedeCMS筛选列表伪静态规则详细可参考新闻《DedeCMS织梦程序实现全站php伪静态》;建立.htaccess文件创建办法参考《调试.htaccess网站出现500错误》,常见的伪静态规则写法。

RewriteEngine on RewriteRule ^list-([0-9]+).html$ /plus/list.php?tid=$1 RewriteRule ^list-([0-9]+)-([0-9]+)-([0-9]+).html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 RewriteRule ^view-([0-9]+)-1.html$ /plus/view.php?arcID=$1 RewriteRule ^view-([0-9]+)-([0-9]+).html$ /plus/view.php?aid=$1&pageno=$2 RewriteRule ^index.html$ index.php  

由于原来DedeCMS多条件筛选编写者并没有给出对应的伪静态规则,如果按照上诉的伪静态规则

/plus/list.php?tid=1 url重写为 /list-1.html  

则该栏目页下的筛选url如下,这明显是不正确的

/list-1.html&zxfg=%a%b%c  

笔者尝试用str_replace函数调整为

/list-1&zxfg=%a%b%c.html  

能正常筛选,但有轻微bug,不影响使用。

现在笔者给出dede筛选列表专有.htaccess伪静态规则

RewriteEngine on RewriteRule ^list-(.*)$ /plus/list.php?tid=$1  

url重写就不含有“.html”,最终样式

/plus/list.php?tid=1重写为 /list-1  

打开/include/helpers/channelunit.help.php,找到

//动态 $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;  

修改为

//动态 $reurl = "/list-".$typeid;  
郑州融科网络专注于企业网站建设、网站制作、高端网站设计,郑州荥阳、上街做网站就找融科网络!
本文章网址:http://www.ppssdd.com/code/14823.html。转载请保留出处,谢谢合作!

全网(营销型+响应式)专业定制

快速搭建高询盘+营销独立站

微信扫一扫 添加微信

推荐分享,免费SEO诊断

扫码加好友,即送价值1880元的SEO优化教程

(网站没排名,轻松让关键词上首页!专注H5企业建站+网站优化推广)

上一篇:DedeCMS一个后台管理电脑手机端纯静态非官方版

下一篇:织梦缩略图终极解决方案(不变形、居中裁剪)的三种办法

  • 网站建设咨询
  • 网站建设案例
建站流程
  • 网站需
    求分析
  • 网站策
    划方案
  • 页面风
    格设计
  • 程序设
    计研发
  • 资料录
    入优化
  • 确认交
    付使用
  • 后续跟
    踪服务
  • 151-3895-5886
  • 品牌网站建设定制
  • 营销型网站建设定制