当前位置: 首页 > 织梦教程 > 织梦联动筛选伪静态[单链接形式]

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

365ymw / 2019-11-03
[] [] []

 

伪静态URL

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

如:

静态栏目页

http://www.dedehtml.com/juji/

静态栏目页分页

http://www.dedehtml.com/juji/list_1_2.html

伪静态筛选页

http://www.dedehtml.com/juji/list_1_area_0.html

伪静态筛选分页

http://www.dedehtml.com/juji/list_1_area_0_2.html

【警告】
操作之前先备份你的程序这2个文件。
/include/arc.listview.class.php
/include/extend.func.php

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

链接: https://pan.baidu.com/s/1q6jbQTCxwBNurEE8w9krhg 提取码: gwmd

使用说明

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 `#@_archives` where id='$id' "); 		$channelid = $arcrow['channel']; 		$tid = $arcrow['typeid']; 		$typerow = $dsql->GetOne(" Select typedir From `#@_arctype` where id='$tid' "); 		$typedir = MfTypedir($typerow["typedir"]); 		 		$channelrow = $dsql->GetOne("SELECT addtable FROM #@_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  `#@_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"; 					$href = str_replace(array("_".$field_name.".",".","_".$_REQUEST['TotalResult']."_".$_REQUEST['PageNo']),array(".",".",""),$href); 					 					$result .= '<a href="'.$href.'">'.$addonfields_items[$i].'</a>';  				} 				else 				{ 					$addonfields_items = explode(",",$ctag->GetAtt('default')); 					 					$i = array_search($fieldrow[$fieldsnamef],explode(",",$ctag->GetAtt('default'))); 					 					$href = stripos($filterarr,$ctag->GetName().'=') ? str_replace("=".$fields_value,"=".urlencode($addonfields_items[$i]),$filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]); 					$href = str_replace("&TotalResult=".$_REQUEST['TotalResult']."&PageNo=".$_REQUEST['PageNo'], "", $href); 					 					$result .= '<a title="'.$addonfields_items[$i].'" href="'.$href.'">'.$addonfields_items[$i].'</a>'; 				} 			}         }     } 	return $result; }

内容页模板中调用标签

<small>区域:</small>{dede:field.id function=GetFilterUrl(@me,'area')/}
<small>地铁:</small>{dede:field.id function=GetFilterUrl(@me,'subway')/}

标红的地方是你的筛选字段名

首页/列表页调用标签

区域:[field:id function=function=GetFilterUrl(@me,'area')/]

地铁:[field:id function=function=GetFilterUrl(@me,'subway')/]

本文链接:http://www.365ymw.com/article-1452.html 转载请保留出处,谢谢!

中查找“织梦联动筛选伪静态[单链接形式]”更多相关内容

用户评论

暂时还没有任何用户评论
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha

浏览历史

免责条款 | 隐私保护 | 联系我们 | 公司简介 | 报价单 | 积分商城 | 留言板
Copyright © 2010-2024 365ymw.com All Rights Reserved. 365源码商城
免责声明:部分图片素材及板块内容来自网络,如有侵犯您的权益,请联系我们,站长会立即处理!
备案号:鄂ICP备2024039974号-1