最近测试了xxx.xxx.xx/m/list.php?tid=1 在手机站访问的时候,无法跳转到手机的模板,终于找到了解决了方法,给大家分享一下
修改根目录下的m/list.php文件
重新弄的代码, 不区分几级目录,理论是根据你指定的PC,重新指定手机的模板 (也就是说,直接用这个代替现有的文件,就可以实现几级访问都行了
复制以下代码替换list.php即可
<?php
/**
*
* 栏目列表/频道动态页
*
* @version $Id: list.php 1 15:38 2010年7月8日Z tianya $
* @package DedeCMS.Site
* @copyright Copyright (c) 2007 - 2010, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
define('DEDEMOB', 'Y');
require_once(dirname(__FILE__)."/../include/common.inc.php");
//$t1 = ExecTime();
$tid = (isset($tid) && is_numeric($tid) ? $tid : 0);
$channelid = (isset($channelid) && is_numeric($channelid) ? $channelid : 0);
if($tid==0 && $channelid==0) die(" Request Error! ");
if(isset($TotalResult)) $TotalResult = intval(preg_replace("/[^\d]/", '', $TotalResult));
//如果指定了内容模型ID但没有指定栏目ID,那么自动获得为这个内容模型的第一个顶级栏目作为频道默认栏目
if(!empty($channelid) && empty($tid))
{
$tinfos = $dsql->GetOne("SELECT tp.id,ch.issystem FROM `dede_arctype` tp LEFT
JOIN `dede_channeltype` ch ON ch.id=tp.channeltype WHERE tp.channeltype='$channelid' And tp.reid=0 order by sortrank asc");
if(!is_array($tinfos)) die(" No catalogs in the channel! ");
$tid = $tinfos['id'];
}
else
{
$tinfos = $dsql->GetOne("SELECT ch.issystem FROM `dede_arctype` tp LEFT JOIN `dede_channeltype` ch
ON ch.id=tp.channeltype WHERE tp.id='$tid' ");
}
if($tinfos['issystem']==-1)
{
$nativeplace = ( (empty($nativeplace) || !is_numeric($nativeplace)) ? 0 : $nativeplace );
$infotype = ( (empty($infotype) || !is_numeric($infotype)) ? 0 : $infotype );
if(!empty($keyword)) $keyword = FilterSearch($keyword);
$cArr = array();
if(!empty($nativeplace)) $cArr['nativeplace'] = $nativeplace;
if(!empty($infotype)) $cArr['infotype'] = $infotype;
if(!empty($keyword)) $cArr['keyword'] = $keyword;
include(DEDEINC."/arc.sglistview.class.php");
$lv = new SgListView($tid,$cArr);
} else {
include(DEDEINC."/arc.listview.class.php");
$lv = new ListView($tid);
$ispart=$lv->Fields['ispart'];
if($ispart==1){
$tpl=$lv->Fields['tempindex'];
$tpl=str_replace('.htm','_m.htm',$tpl);
$lv->Fields['tempindex']=$tpl;
$lv->TypeLink->TypeInfos['tempindex']=$tpl;
}else{
$tpl=$lv->Fields['templist'];
$tpl=str_replace('.htm','_m.htm',$tpl);
$lv->Fields['templist']=$tpl;
$lv->TypeLink->TypeInfos['templist']=$tpl;
}
// print_r($lv);
// exit();
//对设置了会员级别的栏目进行处理
if(isset($lv->Fields['corank']) && $lv->Fields['corank'] > 0)
{
require_once(DEDEINC.'/memberlogin.class.php');
$cfg_ml = new MemberLogin();
if( $cfg_ml->M_Rank < $lv->Fields['corank'] )
{
$dsql->Execute('me' , "SELECT * FROM `dede_arcrank` ");
while($row = $dsql->GetObject('me'))
{
$memberTypes[$row->rank] = $row->membername;
}
$memberTypes[0] = "游客或没权限会员";
$msgtitle = "你没有权限浏览栏目:{$lv->Fields['typename']} !";
$moremsg = "这个栏目需要 <font color='red'>".$memberTypes[$lv->Fields['corank']]."</font> 才能访问,
你目前是:<font color='red'>".$memberTypes[$cfg_ml->M_Rank]."</font> !";
include_once(DEDETEMPLATE.'/plus/view_msg_catalog.htm');
exit();
}
}
}
if($lv->IsError) ParamError();
$lv->Display();