专业的织梦模板下载平台,更多精品模板,超低模板价格,网站建设如此简单!           QQ好友已满,→点此获取提取码←
当前位置:主页 > 建站教程 > 织梦CMS教程 >

织梦分类信息联动地区伪静态及伪静态规则

发布时间:2019-06-13  来源:六久阁  浏览:0  关键词:织梦联动 织梦地区联动 织梦分类信息 

织梦分类信息联动地区伪静态及伪静态规则,需要的同学可以看看,由于改动多,需要对比修改的同学可以用【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> &gt;&gt; ";
}
else
{
$fields['nativeplace'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$toptype}&infotype={$infotype}'> <b>{$em_nativeplaces[$toptype]}</b></a> &gt;&gt; ";
}
        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> &gt;&gt; ";
}
else
{
$fields['infotype'] .= "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&infotype={$toptype}&nativeplace={$nativeplace}'><b>{$em_infotypes[$toptype]}</b></a> &gt;&gt; ";
}
        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> &gt;&gt; ";
}
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群

群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,阁主将免费为您写解决教程!

已有 0 人评论


CopyRight © 2016-2017 六久阁模板下载网 版权所有  备案号:滇ICP备15006281号-4 
本站部份内容来源自网络,文字、素材、图片版权属于原作者,本站转载素材仅供大家欣赏和分享,切勿做为商业目的使用。
如果侵害了您的合法权益,请您及时与我们,我们会在第一时间删除相关内容!