成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > DedeCMS二次開發(fā)聯(lián)動(dòng)篩選(單選和多選)功能的實(shí)現(xiàn)

DedeCMS二次開發(fā)聯(lián)動(dòng)篩選(單選和多選)功能的實(shí)現(xiàn)

POST TIME:2021-05-21 00:17

因?yàn)樽罱恿怂交?有兩個(gè)客戶都需要有這樣的需求,而且都是多選,但是網(wǎng)上并沒有多選的教程,都是單選,所以我就無償?shù)陌堰@篇有價(jià)值的二次開發(fā)教程分享出來了.這個(gè)的功能今后會(huì)挺常見,能幫助大家一點(diǎn)算一點(diǎn),希望大家珍惜這些代碼,如果有轉(zhuǎn)載請寫明文章來源,首發(fā)的是darren中.

首先我把單選的代碼貼出來,這個(gè)是我參考其他網(wǎng)站的,多選也是基于這個(gè)單選修改的,所以如果要做多選的話,也請先把單選的這些代碼配置好.

聯(lián)動(dòng)篩選單選功能

搜索情況類似下圖:每個(gè)自定義字段值能選擇一個(gè)值

首先需要說明的是這個(gè)功能需要在模板里面用到php標(biāo)簽,所以需要在后臺(tái)模板引擎禁用標(biāo)簽里面解除這個(gè)標(biāo)簽的禁用,具體方法:

后臺(tái)——系統(tǒng)——系統(tǒng)基本參數(shù)——其它選項(xiàng)——模板引擎禁用標(biāo)簽:php

將這個(gè)PHP去掉后保存就可以了!

好了,下面開始正題了。

首先需要修改2個(gè)PHP文件,都是include目錄下面的。

1、修改arc.listview.class.php文件,這文件改動(dòng)比較大,建議大家直接下載附件壓縮包里面的文件替換,如果你之前對這個(gè)文件改動(dòng)過的話,請?jiān)谙螺d下來的壓縮包里的這個(gè)文件里面搜索有“Darren中博客”這些注釋的這些地方,都是修改過的,然自己手動(dòng)將有注釋的代碼插入到自己的文件里面!

2、修改extend.func.php文件,在其最后面添加如下代碼:

Source code  
//dedecms聯(lián)動(dòng)篩選功能 By Darren中博客 QQ:604849147 字符過濾函數(shù)
function wwwcms_filter($str,$stype="inject") {
  if ($stype=="inject")  {
   $str = str_replace(
          array( "select", "insert", "update", "delete", "alter", "cas", "union", "into", "load_file", "outfile", "create", "join", "where", "like", "drop", "modify", "rename", "'", "/*", "*", "../", "./"),
       array("","","","","","","","","","","","","","","","","","","","","",""),
       $str);
  } else if ($stype=="xss") {
   $farr = array("/s+/" ,
                 "/<(/?)(script|META|STYLE|HTML|HEAD|BODY|STYLE |i?frame|b|strong|style|html|img|P|o:p|iframe|u |em|strike|BR|div|a|TABLE|TBODY|object|tr|td |st1:chsdate|FONT|span|MARQUEE|body|title |
|link |meta|?|%)([^>]*?)>/isU",
        "/(<[^>]*)on[a-zA-Z]+s*=([^>]*>)/isU",
        );
   $tarr = array(" ",
                 "",
        "\1\2",
        );
   $str = preg_replace($farr, $tarr, $str);
   $str = str_replace(
          array( "<", ">", "'", "&;", ";", "/*", "*", "../", "./"),
       array("&lt;","&gt;","","","","","","",""),
       $str);
  }
  return $str;
 }

/**
  *  載入自定義表單(用于發(fā)布)
  *
  * @access    public
  * @param     string  $fieldset  字段列表
 * @param     string  $loadtype  載入類型
 * @return    string
  */

 function AddFilter($channelid, $type=1, $fieldsnamef, $defaulttid, $loadtype='autofield')
 {
  global $tid,$dsql,$id;
  $tid = $defaulttid ? $defaulttid : $tid;
  if ($id!="")
  {
   $tidsq = $dsql->GetOne(" Select typeid From `dede_archives` where id='$id' ");
   $tid = $tidsq["typeid"];
  }
  $nofilter = (isset($_REQUEST['TotalResult']) ? "&TotalResult=".$_REQUEST['TotalResult'] : '').(isset($_REQUEST['PageNo']) ? "&PageNo=".$_REQUEST['PageNo'] : '');
  $filterarr = wwwcms_filter(stripos($_SERVER['REQUEST_URI'], "list.php?tid=") ? str_replace($nofilter, '', $_SERVER['REQUEST_URI']) : $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);
     $dede_addonfields = '';
     if(is_array($dtp->CTags))
     {
         foreach($dtp->CTags as $tid=>$ctag)
         {
             $fieldsname = $fieldsnamef ? explode(",", $fieldsnamef) : explode(",", $ctag->GetName());
    if(($loadtype!='autofield' || ($loadtype=='autofield' && $ctag->GetAtt('autofield')==1)) && in_array($ctag->GetName(), $fieldsname) )
             {
                 $href1 = explode($ctag->GetName().'=', $filterarr);
     $href2 = explode('&', $href1[1]);
     $fields_value = $href2[0];
     $dede_addonfields .= '<div class="scv-shaixuan"><b>'.$ctag->GetAtt('itemname').':</b>';
     switch ($type) {
      case 1:
       $dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is",$filterarr,$regm) ? '<a title="全部" href="'.str_replace("&".$ctag->GetName()."=".$fields_value,"",$filterarr).'">全部</a>' : '<span>全部</span>').'&nbsp;';

       $addonfields_items = explode(",",$ctag->GetAtt('default'));
       for ($i=0; $i<count($addonfields_items); $i++)
       {
        $href = stripos($filterarr,$ctag->GetName().'=') ? str_replace("=".$fields_value,"=".urlencode($addonfields_items[$i]),$filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]);//echo $href;
        $dede_addonfields .= ($fields_value!=urlencode($addonfields_items[$i]) ? '<a title="'.$addonfields_items[$i].'" href="'.$href.'">'.$addonfields_items[$i].'</a>' : '<span>'.$addonfields_items[$i].'</span>')."&nbsp;";
       }
       $dede_addonfields .= '</div>';
      break;

      case 2:
       $dede_addonfields .= '<select name="filter"'.$ctag->GetName().' onchange="window.location=this.options[this.selectedIndex].value">
        '.'<option value="'.str_replace("&".$ctag->GetName()."=".$fields_value,"",$filterarr).'">全部</option>';
       $addonfields_items = explode(",",$ctag->GetAtt('default'));
       for ($i=0; $i<count($addonfields_items); $i++)
       {
        $href = stripos($filterarr,$ctag->GetName().'=') ? str_replace("=".$fields_value,"=".urlencode($addonfields_items[$i]),$filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]);
        $dede_addonfields .= '<option value="'.$href.'"'.($fields_value==urlencode($addonfields_items[$i]) ? ' selected="selected"' : '').'>'.$addonfields_items[$i].'</option>
        ';
       }
       $dede_addonfields .= '</select><br/>
       ';
      break;
     }
             }
         }
     }
  echo $dede_addonfields;
 }

下面提供前面提到過的已經(jīng)修改好的文件下載,注意這個(gè)是對默認(rèn)沒有修改過的文件進(jìn)行修改的,如果你已經(jīng)對這兩個(gè)文件進(jìn)行過修改,那就請看這兩個(gè)文件的注釋部分相應(yīng)的進(jìn)行修改,下載地址:

http://pan.baidu.com/s/1gd3YUdH

好,到這里PHP文件修改的部分就完成了!接下來就需要給指定的模型添加字段了,這里需要注意的就是 字段類型的選擇,字段類型需要選擇單選按鈕或者使用select下拉框(有的地方顯示option下拉框),如下圖所示:

下面就是模板頁篩選標(biāo)簽的調(diào)用了,篩選標(biāo)簽的調(diào)用很簡單,一句代碼就可以搞定,標(biāo)簽代碼如下:

{dede:php}AddFilter(4,1,'linestyle,linethem,youdays,jgqujian');{/dede:php}

標(biāo)簽解釋:

AddFilter函數(shù)里面的第一個(gè)數(shù)字4是內(nèi)容模型的id號(hào),各個(gè)內(nèi)容模型的id請到后臺(tái)內(nèi)容模型管理里面查看;

第二個(gè)數(shù)字1是表示篩選的樣式,1是使用超鏈接進(jìn)行選擇,2是使用select下拉框選擇,具體可以自己設(shè)置了查看效果;

第三個(gè)部分’linestyle,linethem,youdays,jgqujian’是要添加篩選功能的字段名,這里有4個(gè)字段,注意需要用半角逗號(hào)隔開。

到這里聯(lián)動(dòng)篩選單選功能的開發(fā)就全部做完了

聯(lián)動(dòng)篩選多選功能

搜索情況類似下圖:每個(gè)自定義字段值能選擇N個(gè)值(url不能超過255個(gè)字符)

實(shí)現(xiàn)多選的前提我已經(jīng)說過了,請先把上面所需要修改的兩個(gè)php文件的地方先確認(rèn)修改正確,接下來就需要給指定的模型添加字段了,這里需要注意的就是 字段類型的選擇,字段類型需要選擇checkbox.我就不截圖了

然后打開之前修改過的arc.listview.class.php文件,找到大概809行的樣子,在foreach($_GET as $key => $value) {下面將

$filtersql .= ($key!=”tid” && $key!=”TotalResult” && $key!=”PageNo”) ? ” AND $addtable.”.wwwcms_filter($key).” = “.wwwcms_filter(iconv(“UTF-8″, “gb2312″, $value)).”” : ”;

修改為:

Source code  
if($key=="goodstype" || $key=="goodscolor" ){//你自定義字段的字段名(英文的那個(gè)name)
		$count=0;
		$nowsql ='';
		$var=explode(",",wwwcms_filter(iconv("UTF-8", "gb2312", $value)));//iconv是轉(zhuǎn)碼的意思,如果你url傳進(jìn)來的參數(shù)是中文,就需要轉(zhuǎn)碼

		if(!empty($var)){
			foreach($var as $value){ 
			   if($count==0){
			      $filtersql.="and ($addtable.".wwwcms_filter($key)." like '%".$value."%'";
			      $count++;
			   }else{
			     $filtersql.="or $addtable.".wwwcms_filter($key)." like '%".$value."%'";
			}

		     }
		$filtersql.=")";
		}


	}else{
						$filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND $addtable.".wwwcms_filter($key)." = ".wwwcms_filter(iconv("UTF-8", "gb2312", $value))."" : '';//跟上面一樣,如果傳遞的值是中文,那么就需要轉(zhuǎn)碼
					}

然后在前臺(tái)調(diào)用的時(shí)候,比如參數(shù)是 http://xxx.com/plus/list.php?tid=4&goodstype=類型1,類型2&goodscolor=灰色,紅色,藍(lán)色

記住,一定要以逗號(hào)隔開,如果你編碼是gbk的,傳值的時(shí)候如果url顯示的是中文,就可以直接使用上面的代碼,否則的話在轉(zhuǎn)碼那可能要稍微修改下.具體可以了解下php基礎(chǔ).

這樣就差不多可以實(shí)現(xiàn)織夢聯(lián)合篩選的多選功能了,準(zhǔn)備睡覺了,都已經(jīng)凌晨2點(diǎn)了,我還在給大家分享干貨,必須贊一個(gè)哈.



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
天堂在线资源库| 国产视频一区在线观看| 超碰这里只有精品| 久久精品国产一区二区三区日韩| 黄色在线观看免费| 国产美女做爰免费视频软件| 丁香花高清在线观看完整版| 欧美aaaaa喷水| 国产成人啪精品视频免费网| 国产成人短视频| 欧美精品在线第一页| 在线观看中文字幕一区| 欧美高清激情brazzers| 久久精品国产亚洲AV成人婷婷| 99久久国产综合精品五月天喷水| 久久香蕉综合色一综合色88| 中文久久精品| 亚洲人成网站77777在线观看| 亚洲美女色播| 日本激情综合网| 成人性生交大片免费看视频在线| 国产91免费在线观看| 国产国产一区| 人九九综合九九宗合| 亚洲精品菠萝久久久久久久| 最新福利小视频在线播放| 欧美国产精品久久| 性囗交免费视频观看| 91精品国产高潮对白| 亚洲国产成人无码av在线| 7799精品视频天天看| 久久的精品视频| 一级黄色大片免费| 999国产精品视频免费| 精品国产乱码久久久久久蜜臀网站| 114美女做爰视频在线| 好吊色欧美一区二区三区四区| 最新中文字幕2018| 天天综合天天干| 8av国产精品爽爽ⅴa在线观看| 亚洲视频在线观看不卡| 69视频在线观看| 网曝门事件国产精品二区| av成人在线播放| 一级做a爰片久久| 欧美xxxx×黑人性爽| 羞羞视频在线免费看| 欧美变态视频| 欧美精品videossex少妇| 欧美国产日韩免费| 亚洲成人手机在线观看| 第四色在线视频| 成人黄色免费| 无人区在线高清完整免费版 一区二| 国产精品伊人久久| 日本免费高清不卡| 欧美成人日韩| 亚洲人视频在线| 欧美大片在线看| 免费一区二区在线观看| ijzzijzzij亚洲大全| 熟妇高潮一区二区高潮| 在线观看免费视频一区二区三区| 国产成人精品777777| 国产精品一区一区| 免费一区二区三区| 精品视频在线免费看| 九九久久久久久久久激情| 大片免费在线观看| 日本在线观看视频一区| 国产精品影视| 亚洲欧洲制服丝袜| 日韩三级电影| 欧美亚洲国产成人| 亚洲小视频在线播放| 一区精品在线播放| 男人女人黄一级| 日本在线免费观看一区| 日韩欧美国产三级电影视频| 少妇高潮 亚洲精品| 中文字幕国产一区二区| 91精品国产欧美日韩| 国产免费一级片| 久久久国产精品一区二区三区| 青花影视在线观看免费高清| 精品国产一区a| 深夜成人在线观看| 国产真实有声精品录音| 国精品人妻无码一区二区三区喝尿| 性生活视频网址| 久久精品免费观看| 女人天堂亚洲aⅴ在线观看| 国产男女激情视频| 欧美写真视频一区| а天堂8中文最新版在线官网| 国产破处视频在线观看| 亚洲视频电影在线| 男女猛烈无遮挡午夜视频| 日韩精品人妻中文字幕| 亚洲超碰在线观看| 欧美日韩视频免费| 国产亚洲欧美一区二区| 黄网站网址视频| 波多一区二区| 中文字幕视频网站| 日韩精品欧美专区| 樱桃视频免费看| 国产成人激情视频| 最近日韩中文字幕| 亚洲国内在线| 久久久久久久九九九九| 精品国偷自产国产一区| jizz日韩| 久久久久亚洲av无码专区桃色| 国产精品入口麻豆九色| 亚洲欧洲综合另类在线| 日韩精品一区第一页| 欧美不卡在线播放| 999国产精品永久免费视频app| 你懂的视频在线免费| 91久久精品国产91性色69| 国产成人手机视频| 97国产一区二区精品久久呦| 欧美亚洲伦理www| 波多野结衣 在线| 婷婷国产成人久久精品激情| 男人添女人下部高潮视频在线观看| 日韩精品久久久久久久玫瑰园| 久久精品成人动漫| 国产情侣av自拍| 亚洲综合免费视频| 在线看的你懂得| 免费黄色在线播放| 1769国产精品视频| 北条麻妃在线| 国产精品111| 婷婷六月天在线| 四季av一区二区三区免费观看| 男人的天堂avav| 久久久久国产精品麻豆| 亚洲福利av在线| 人妻无码一区二区三区| 在线一区免费| 国产亚洲精品精品国产亚洲综合| 亚洲三级视频| 少妇高潮惨叫久久久久| av爱爱亚洲一区| 国产偷人爽久久久久久老妇app| 久久婷婷国产综合国色天香| 成人免费看视频| 欧美激情一区二区三区高清视频| 精品亚洲国产成av人片传媒| 福利小视频网站| 成年人视频网站免费| 免费亚洲一区二区| 精品久久ai电影| 国色天香2019中文字幕在线观看| 亚洲精品乱码视频| 色一区在线观看| 色激情天天射综合网| 电影一区中文字幕| 99国产精品久久久久99打野战| 最近中文字幕日韩精品| 裸体丰满少妇做受久久99精品| 色欲狠狠躁天天躁无码中文字幕| 久久久久久国产精品一区| 大胆av不用播放器在线播放| 欧美free性| 电影av在线| 欧美一区二区三区视频在线观看| 国产精品毛片一区视频| 91麻豆精品国产91久久久更新资源速度超快| 国产激情一区二区三区| 91麻豆国产福利在线观看| 黄色国产在线| 国产无套精品一区二区三区| 中文字幕有码热在线视频| 无码人妻丰满熟妇区bbbbxxxx| 久草热8精品视频在线观看| 国产欧美综合在线观看第十页| 欧美 日韩 激情| 亚洲国产精品18久久久久久| 日韩一区av在线| 国产精品一区二区不卡| 久久久免费电影| 日韩a在线观看| 日本wwwcom| 日韩欧美久久| 男人天堂久久| 精品少妇一区二区三区视频免付费| av一级在线| 国产精品美女999| 成人国产视频在线| 97caopor国产在线视频| 免费看大片爽| 1024精品一区二区三区| 外国一级黄色片| 999成人网| www.久久综合| 欧美女优在线视频| 国产又爽又黄又刺激的软件| 在线免费av播放| 东京热一区二区三区四区| 91精品国产自产在线观看永久| 国产精品久久久久久久久夜色| 亚洲午夜黄色| 日韩电影在线一区| 999国内精品视频在线| 色综合手机在线| 啊啊啊好爽视频| 欧美视频在线观看一区二区三区| www婷婷av久久久影片| 91成人在线视频观看| 丁香六月色婷婷| 国产午夜福利片| 免费网站观看www在线观看| 中日韩脚交footjobhd| 色悠悠久久综合| 一级黄色片在线看| 成年人在线看| 九色自拍视频在线观看| www.黄在线| 日韩国产欧美精品| 综合另类专区| 国产在线中文字幕| 亚洲综合大片69999| 麻豆精品网站| 国产精品三级美女白浆呻吟| 五月天激情视频在线观看| 884aa四虎影成人精品一区| 亚洲熟妇无码av在线播放| 欧美brazzers| fpee性欧美| 中文字幕久久久久久久| 最新日本中文字幕| 欧美日韩国产精品一区二区亚洲| 青草影视电视剧免费播放在线观看| 亚洲欧美在线人成swag| 欧美一级生活片| 丝袜国产日韩另类美女| 西西44rtwww国产精品| 成人免费一区| 韩国成人动漫在线观看| 精品在线免费观看视频| 精品在线不卡| 欧美伊人久久大香线蕉综合69| 精品国产一区二区三区av片| 小说区亚洲自拍另类图片专区| 台湾成人免费视频| 99久久伊人久久99| 九色自拍麻豆| jizz免费观看视频| 久久高清无码视频| 国产96在线亚洲| 欧美xxxxbb| www.天堂乱色| 永久免费在线观看| 中国女人内谢25xxxxx| 亚洲福利视频在线| www.久久久久爱免| 欧美激情在线一区二区三区| 日韩福利视频| 国产精品自拍合集| www.午夜激情| 欧美日韩视频在线观看一区二区三区| a黄色片在线观看| 7777精品伊人久久久大香线蕉最新版| 热99久久精品| 亚洲成人久久电影| 成人午夜精品久久久久久久蜜臀| 中文字幕成人在线| 日韩午夜在线观看| 欧美精选一区二区| 欧美乱妇15p| 亚洲一区二区三区久久| 国产日韩欧美精品一区二区三区| 欧美毛片免费观看| 欧美一级在线免费| 麻豆91在线观看| 一级黄色免费看| 欧美xingq一区二区| 黄色激情网站| 成年人视频在线网站| 亚洲国产一区二区精品专区| 亚洲精品视频中文字幕| 在线国产视频一区| 亚洲国产视频二区| 最近免费中文字幕mv视频| 欧美午夜一区二区三区免费大片| 人妖欧美1区| 亚洲电影二区| 欧洲色大大久久| 国产精品免费一区二区三区四区| 日韩av大片在线| 国产主播一区二区三区四区| 三级黄色片播放| x88av在线| 一区二区三区免费网站| 国产精品网站一区| 97人人爽人人喊人人模波多| 污黄网站在线观看| 国产精品亚洲产品| 风间由美久久久| 国产黄a三级三级三级| 国产一区二区中文| 亚洲成人亚洲激情| 深夜福利av你懂的| 国产欧美一区二区三区精品酒店| 人禽交欧美网站| 国内精品美女av在线播放| 国产色产综合产在线视频| 天天干天天爽| 亚欧无线一线二线三线区别| 57pao精品| 日本一区二区三区免费视频| 日韩 欧美一区二区三区| 亚洲一区精品视频在线观看| 久久综合色播五月| 久久91精品国产91久久小草| 伊人资源视频在线| 动漫3d精品一区二区三区乱码| 日韩av三级在线观看| 国产精品久久久久久久久免费看| 亚洲色图久久久| 色婷婷av一区二区三区在线观看| 日韩精品在在线一区二区中文| 天天色av.com| 丁香亚洲综合激情啪啪综合|