dede自定义多条件筛选

dede自定义多条件筛选

操作方法

  • 01

    自定义函数 /** * 载入自定义表单(用于发布) * * @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 `#@__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 `#@__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 $tida=>$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 .= '<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 .= '<br/>'; 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; }

(0)

相关推荐

  • Excel筛选器自定义条件筛选技巧

    Excel筛选器默认的条件有时候还无法满足我们的一些特殊筛选要求,如同时需要筛选一列中包含A或B等多个字或字符的结果集,则需要多个条件并列. 这就需要使用的Excel筛选器的自定义条件筛选,可以多个条 ...

  • 如何在excel中根据条件筛选自己所要的信息?

    许多小伙伴在使用excel工作的时候,经常需要在密密麻麻的数据中根据一些条件挑选出自己要的信息,那么我们应该如何操作呢?今天,小编就教大家在excel中根据条件筛选自己所要的信息.具体如下:1. 打开 ...

  • excel中怎么筛选、按条件筛选自己所要的信息

    在办公应用软件中excel我们有很多信息给我们查看有的信息是我们不需要查看的怎么筛选出我们想要的信息呢,下面小编带大家学习一下怎么使用筛选 操作方法 01 首先我们打开excel,选中我们要筛选的数据 ...

  • Excel中怎样进行条件筛选,筛选结果以颜色标记

    操作方法 01 在日常办公时,常常在一大堆数据中筛选出想要的部分数据,这时就可能用到条件筛选,并将筛选结果以颜色标记,这样方便查看.以下图为例,将工时大于或等于5的数据筛选出来,并以红色标记. 02 ...

  • 手机版美团怎么按条件筛选生活服务?

    在节假日的时候有些商铺会搞一些优惠活动,即使趁着节假日人多搞活动,小编觉得还是没有美团那里的划算,可是美团部分优惠在节假日都不能使用,找起来好麻烦,该如何筛选呢?其实方法很简单的,下面小编就为大家介绍 ...

  • 手机版美团按条件筛选生活服务的方法介绍

    在节假日的时候有些商铺会搞一些优惠活动,即使趁着节假日人多搞活动,大神觉得还是没有美团那里的划算,可是美团部分优惠在节假日都不能使用,找起来好麻烦,该如何筛选呢?其实方法很简单的,下面大神就为大家介绍 ...

  • Excel2013中多条件筛选如何使用?

    在面对一份数据庞大的表格时,如何快速显示需要的数据呢?大家肯定会考虑到筛选这个功能,下面,小编就来跟大家介绍一下表格数据的多条件筛选。 ①首先,我们打开一份数据表格,要筛选出华北地区金额大于400的选 ...

  • 在Excel表中怎么完成多个条件筛选排序?

    excel中非常实用和强大的功能,就是排序,我们在日常工作中也常常会用到这个功能.很多时候不止是单一条件的,遇到多个条件叠加的排序,那么在Excel表中怎么完成多个条件筛选排序?下面小编就为大家详细介 ...

  • WPS表格中的数据怎么实现多条件筛选?

    本文介绍WPS表格数据多条件筛选的方法 1.新建一个WPS表格文档 2.多条件筛选.点击“数据”->“高级筛选”,如下图 3.弹出“高级筛选”对话框,如下图 4.选择列表区域 5.选择条件区域 ...