两种方法实现织梦自带手机端搜索页直接跳转到search_m.htm手机站页面

用过织梦DEDECMS的朋友都知道,织梦dedecms自带手机端网站搜索页直接跳转到pc站的搜索页面,我们今天需要实现的效果是手机站搜索跳转到手机站搜索页面,那么要怎么实现呢?

第一种方法:

此种方法只需要修改一个php文件即可,修改相对简单一点。

找到 /plus/search.php 这个文件,搜索如下代码,大概在20行左右

$mid = (isset($mid) && is_numeric($mid)) ? $mid : 0;

在这段代码的下面添加:

$mobile = (isset($mobile) && is_numeric($mobile)) ? $mobile : 0;
if ( $mobile==1 )
{
  define('DEDEMOB', 'Y');
}

然后在搜索页的地方form中添加一个隐藏的input,name为mobile,value值为1,如下代码:

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

如:

<form role="search" action="{dede:global.cfg_cmsurl/}/plus/search.php" method="get">
  <input type="hidden" name="kwtype" value="0"  />
  <input type="hidden" name="mobile" value="1" />
  <input class="txt fl" type="text" name="q" value="请输入关键字" onfocus="if(this.value==defaultValue)this.value=''" onblur="if(this.value=='')this.value=defaultValue">
  <input class="btn fl icon" type="submit" value="搜索" name="submit">
</form>

其实添加这块的作用是当mobile值为1的时候,就跳转到手机站搜索,这对代码其实官方已经在arc.serchview.class.php中加了修改,只是在页面中未实现。

第二种方法:

此种方法需要修改两个php文件,修改相对麻烦一点。

也是一种笨办法,就是将plus/search.php和对应的include/arc.searchview.class.php 分别复制一份,将复制的新文件分别命名,对照search.php命名为search_m.phparc.serchview.class.php命名为arc.serchview.class_m.php

然后修改一下源码:
打开search_m.php文件,里面第13行

require_once(DEDEINC."/arc.searchview.class.php");

修改为

require_once(DEDEINC."/arc.searchview.class_m.php");

打开include/arc.searchview.class_m.php文件,找到第131行

$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']
."/".$GLOBALS['cfg_df_style']."/search.htm";

修改为

$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']
."/".$GLOBALS['cfg_df_style']."/search_m.htm";

以上就是两种方法实现织梦自带手机端搜索页直接跳转到search_m.htm手机站页面的全部内容,希望对大家的学习和解决疑问有所帮助

原文地址:https://www.cnblogs.com/jiaoshou/p/14226437.html