织梦联动筛选伪静态

网站用的是静态,筛选用的是伪静态筛选伪静态地址以字段和键值呈现,让筛选URL与静态保持一致。

如:

静态栏目页

https://www.91084.com/svip/

静态栏目页分页

https://www.91084.com/svip/list_1_2.html

伪静态筛选页

https://www.91084.com/svip/list_1_area_0.html

伪静态筛选分页

https://www.91084.com/svip/list_1_area_0_2.html

【警告】

操作之前先备份你的程序这2个文件。

/include/arc.listview.class.php

/include/extend.func.php

织梦联动筛选伪静态[单链接形式]+伪静态规则 打包下载

  织梦联动筛选伪静态[单链接形式]  

使用说明

Ps:如果你的网站已经做了筛选功能的,请对比一下我的文件来修改再使用。

1. 选择对应的编码,把文件夹文件全部覆盖到对应目录;

2. 后台-系统配置 添加变量

变量名称:cfg_rewritea

变量类型:布尔(Y/N)

参数说明:筛选伪静态

变量值:Y

所属组:站点设置

3. .htaccess 为apache伪静态,放在网站根目录,用于筛选伪静态使用,iis和nginx用户自行转换。

4. 设置网站整站为静态,生成,浏览网站带筛选的栏目,看效果。

内容页输出所属筛选值+链接(支持动态/伪静态)

织梦联动筛选伪静态

打开 /nclude/extend.func.php 在最下面加入

/**

 *  内容页输出所属筛选值+链接

 *

 * @access    public

 * @param     string  $id文档id

 * @param     string  $fieldsnamef单个筛选字段

 * @return    string

 */

function GetFilterUrl($id,$fieldsnamef)

{

global $dsql,$cfg_cmspath,$cfg_rewritea;

if (!isset($id) && !is_numeric($id))

{

return '';

}

else

{

$arcrow = $dsql->GetOne(" Select typeid,channel From `dede_archives` where id='$id' ");

$channelid = $arcrow['channel'];

$tid = $arcrow['typeid'];

$typerow = $dsql->GetOne(" Select typedir From `dede_arctype` where id='$tid' ");

$typedir = MfTypedir($typerow["typedir"]);

 

$channelrow = $dsql->GetOne("SELECT addtable FROM dede_channeltype where id='$channelid'");

$addtable = trim($channelrow['addtable']);

 

$fieldrow = $dsql->GetOne("SELECT $fieldsnamef FROM `$addtable` WHERE aid=$id");

}

$plist = $_SERVER['HTTP_X_REWRITE_URL'] ? string_filter($_SERVER['HTTP_X_REWRITE_URL']) : string_filter($_SERVER['REQUEST_URI']);

if($cfg_rewritea == 'Y')

{

$plist = stripos($plist, "makehtml_list_action.php") ? $cfg_cmspath.$typedir.'/' : $plist;

$filterarr = string_filter(stripos($plist, ".html") ? str_replace(".html", "", $plist) : $cfg_cmspath.$typedir.'/');

}

else

{

$nofilter = (isset($_REQUEST['TotalResult']) ? "&TotalResult=".$_REQUEST['TotalResult'] : '').(isset($_REQUEST['PageNo']) ? "&PageNo=".$_REQUEST['PageNo'] : '');

$filterarr = string_filter(stripos($plist, "list.php?tid=") ? str_replace($nofilter, '', $plist) : $GLOBALS['cfg_cmsurl']."/plus/list.php?tid=".$tid);

}

 

$cInfos = $dsql->GetOne(" Select * From  `dede_channeltype` where id='$channelid' ");

$fieldset = $cInfos['fieldset'];

$dtp = new DedeTagParse();

    $dtp->SetNameSpace('field','<','>');

    $dtp->LoadSource($fieldset);

    $result = '';

    if(is_array($dtp->CTags))

    {

foreach($dtp->CTags as $tida=>$ctag)

        {

            $field_name = $ctag->GetName();

$fieldsname = $fieldsnamef ? explode(",", $fieldsnamef) : explode(",", $field_name);

if( in_array($field_name, $fieldsname))

{

if($cfg_rewritea == 'Y')

{

$href = "";

$addonfields_items = explode(",",$ctag->GetAtt('default'));

 

$i = array_search($fieldrow[$fieldsnamef],explode(",",$ctag->GetAtt('default')));

$filterarr1 = explode("list_", $filterarr);

$href = $filterarr1[0]."list_".$tid.'_'.$field_name.'_'.$i;

 

$href .= ".html";

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfgsw.html