织梦分类信息联动地区伪静态及伪静态规则,需要的同学可以看看,由于改动多,需要对比修改的同学可以用【Beyond Compare】软件来修改
apache 分类信息联动地区伪静态规则:
RewriteRule ^category/list-(-[0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?channelid=$1&tid=$2&nativeplace=$3&infotype=$4 RewriteRule ^category/list-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&TotalResult=$2&nativeplace=$3&infotype=$4&PageNo=$5
/include/taglib/infolink.lib.php 整个文件修改为
<?php if(!defined('DEDEINC')) exit('Request Error!'); /** * 分类信息地区与类型快捷链接 * * @version $Id: infolink.lib.php 1 9:29 2010年7月6日Z tianya $ * @package DedeCMS.Taglib * @copyright Copyright (c) 2007 - 2010, DesDev, Inc. * @license http://help.dedecms.com/usersguide/license.html * @link http://www.dedecms.com */ /*>>dede>> <name>织梦分类信息地区与类型快捷链接</name> <type>全局标记</type> <for>V55,V56,V57</for> <description>织梦调用分类信息地区与类型快捷链接</description> <demo> {dede:infolink /} </demo> <attributes> </attributes> >>dede>>*/ require_once(DEDEINC.'/enums.func.php'); require_once(DEDEDATA.'/enums/nativeplace.php'); require_once(DEDEDATA.'/enums/infotype.php'); function lib_infolink(&$ctag,&$refObj) { global $cfg_rewrite,$dsql,$nativeplace,$infotype,$hasSetEnumJs,$cfg_cmspath,$cfg_mainsite; global $em_nativeplaces,$em_infotypes; //属性处理 //$attlist="row|12,titlelen|24"; //FillAttsDefault($ctag->CAttribute->Items,$attlist); //extract($ctag->CAttribute->Items, EXTR_SKIP); $cmspath = ( (empty($cfg_cmspath) || !preg_match("#\/$#", $cfg_cmspath)) ? $cfg_cmspath.'/' : $cfg_cmspath ); $baseurl = preg_replace("#\/$#", '', $cfg_mainsite).$cmspath; $smalltypes = ''; if( !empty($refObj->TypeLink->TypeInfos['smalltypes']) ) { $smalltypes = explode(',', $refObj->TypeLink->TypeInfos['smalltypes']); } if(empty($refObj->Fields['typeid'])) { $row = $dsql->GetOne("SELECT id FROM `dede_arctype` WHERE channeltype='-8' And reid = '0' "); $typeid = (is_array($row) ? $row['id'] : 0); } else { $typeid = $refObj->Fields['typeid']; } $innerText = trim($ctag->GetInnerText()); if(empty($innerText)) $innerText = GetSysTemplets("info_link.htm"); $ctp = new DedeTagParse(); $ctp->SetNameSpace('field','[',']'); $ctp->LoadSource($innerText); $revalue = $seli = ''; $channelid = ( empty($refObj->TypeLink->TypeInfos['channeltype']) ? -8 : $refObj->TypeLink->TypeInfos['channeltype'] ); $fields = array('nativeplace'=>'','infotype'=>'','typeid'=>$typeid, 'channelid'=>$channelid,'linkallplace'=>'','linkalltype'=>''); $fields['nativeplace'] = $fields['infotype'] = ''; //伪静态 if($cfg_rewrite == 'Y') { $rwlinkallplace = "/category/list-".$channelid."-".$typeid."-".$infotype."-0.html"; $fields['linkallplace'] = "<a href='{$rwlinkallplace}'>不限</a>"; } else { $fields['linkallplace'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&infotype={$infotype}'>不限</a>"; } //伪静态 if($cfg_rewrite == 'Y') { $rwlinkalltype = "/category/list-".$channelid."-".$typeid."-".$nativeplace."-0.html"; $fields['linkalltype'] = "<a href='{$rwlinkalltype}'>不限</a>"; } else { $fields['linkalltype'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$nativeplace}'>不限</a>"; } //地区链接 if(empty($nativeplace)) { foreach($em_nativeplaces as $eid=>$em) { if($eid % 500 != 0) continue; //伪静态 if($cfg_rewrite == 'Y') { $rwnativeplace = "/category/list-".$channelid."-".$typeid."-".$eid."-".$infotype.".html"; $fields['nativeplace'] .= "<a href='{$rwnativeplace}'>{$em}</a>"; } else { $fields['nativeplace'] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$eid}&infotype={$infotype}'>{$em}</a>\r\n"; } } } else { $sontype = ( ($nativeplace % 500 != 0) ? $nativeplace : 0 ); $toptype = ( ($nativeplace % 500 == 0) ? $nativeplace : ( $nativeplace-($nativeplace%500) ) ); //2011-6-21 修改地区列表的一个小空格 http://www.lol9.cn(by:六久阁) //伪静态 if($cfg_rewrite == 'Y') { $rwnativeplace = "/category/list-".$channelid."-".$typeid."-".$toptype."-".$infotype.".html"; $fields['nativeplace'] = "<a href='{$rwnativeplace}'> <b>{$em_nativeplaces[$toptype]}</b></a> >> "; } else { $fields['nativeplace'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$toptype}&infotype={$infotype}'> <b>{$em_nativeplaces[$toptype]}</b></a> >> "; } foreach($em_nativeplaces as $eid=>$em) { if($eid < $toptype+1 || $eid > $toptype+499) continue; if($eid == $nativeplace) { $fields['nativeplace'] .= " <b>{$em}</b>\r\n"; } else { //伪静态 if($cfg_rewrite == 'Y') { $rwnativeplace = "/category/list-".$channelid."-".$typeid."-".$eid."-".$infotype.".html"; $fields['nativeplace'] .= "<a href='{$rwnativeplace}'>{$em}</a>\r\n"; } else { $fields['nativeplace'] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$eid}&infotype={$infotype}'>{$em}</a>\r\n"; } } } } //小分类链接 if(empty($infotype) || is_array($smalltypes)) { foreach($em_infotypes as $eid=>$em) { if(!is_array($smalltypes) && $eid % 500 != 0) continue; if(is_array($smalltypes) && !in_array($eid, $smalltypes)) continue; if($eid == $infotype) { $fields['infotype'] .= " <b>{$em}</b>\r\n"; } else { //伪静态 if($cfg_rewrite == 'Y') { $rwinfotype = "/category/list-".$channelid."-".$typeid."-".$eid."-".$nativeplace.".html"; $fields['infotype'] .= " <a href='{$rwinfotype}'>{$em}</a>\r\n"; } else { $fields['infotype'] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&infotype={$eid}&nativeplace={$nativeplace}'>{$em}</a>\r\n"; } } } } else { $sontype = ( ($infotype % 500 != 0) ? $infotype : 0 ); $toptype = ( ($infotype % 500 == 0) ? $infotype : ( $infotype-($infotype%500) ) ); //伪静态 if($cfg_rewrite == 'Y') { $rwinfotype = "/category/list-".$channelid."-".$typeid."-".$toptype."-".$nativeplace.".html"; $fields['infotype'] .= "<a href='{$rwinfotype}'><b>{$em_infotypes[$toptype]}</b></a> >> "; } else { $fields['infotype'] .= "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&infotype={$toptype}&nativeplace={$nativeplace}'><b>{$em_infotypes[$toptype]}</b></a> >> "; } foreach($em_infotypes as $eid=>$em) { if($eid < $toptype+1 || $eid > $toptype+499) continue; if($eid == $infotype) { $fields['infotype'] .= " <b>{$em}</b>\r\n"; } else { //伪静态 if($cfg_rewrite == 'Y') { $rwinfotype = "/category/list-".$channelid."-".$typeid."-".$eid."-".$nativeplace.".html"; $fields['infotype'] .= "<a href='{$rwinfotype}'><b>{$em_infotypes[$toptype]}</b></a> >> "; } else { $fields['infotype'] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&infotype={$eid}&nativeplace={$nativeplace}'>{$em}</a>\r\n"; } } } } if(is_array($ctp->CTags)) { foreach($ctp->CTags as $tagid=>$ctag) { if(isset($fields[$ctag->GetName()])) { $ctp->Assign($tagid,$fields[$ctag->GetName()]); } } $revalue .= $ctp->GetResult(); } return $revalue; }
打开/include/arc.sglistview.class.php 找到
$row['ismake'] = 1;
改成
$row['ismake'] = -1;
继续找到
global $nativeplace,$infotype,$keyword;
改成
global $cfg_rewrite,$nativeplace,$infotype,$keyword;
继续找到
$geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&nativeplace=$nativeplace&infotype=$infotype&keyword=".urlencode($keyword)."&";
改成
// 如果开启为静态,则对规则进行替换 if($cfg_rewrite == 'Y') { $nowurls = preg_replace("/\-/", ".php?", $purl); $nowurls = explode("?", $nowurls); $purl = $nowurls[0]; } $geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&nativeplace=$nativeplace&infotype=$infotype&";
最后找到
$plist = $indexpage.$prepage.$listdd.$nextpage.$endpage;
改成
$plist = $indexpage.$prepage.$listdd.$nextpage.$endpage; if($cfg_rewrite == 'Y') { $plist = str_replace('.php?tid=', '-', $plist); $plist = str_replace('&TotalResult=', '-', $plist); $plist = str_replace('&nativeplace=', '-', $plist); $plist = str_replace('&infotype=', '-', $plist); $plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist); }
织梦二次开发QQ群
本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!
转载请注明: 织梦模板 » 织梦分类信息联动地区伪静态及伪静态规则