有些企业站DedeCMS多条件联动筛选需要有颜色,实现思路是通过不同的class命名,单独写CSS样式,下载文件参考原来的的《DedeCMS多条件筛选以筛选词为标题》
修改include/extend.func.php文件,找到下面的字段,红色为增加部分,仔细对比就行。
if(is_array($dtp->CTags)) { $count = 0; //by7,增加foreach循环次数 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]; $count++; //循环次数自增 //$dede_addonfields .= '<p class="shaixuan count' . $count . '"><b>'.$ctag->GetAtt('itemname').':</b>'; //-by7 switch ($type) { case 1: $dede_addonfields .= '<p class="shaixuan count' . $count . '"><b>'.$ctag->GetAtt('itemname').':</b>'; $dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is",$filterarr,$regm) ? '<a title="全部" href="' . $GLOBALS['cfg_basehost'] . str_replace("&" . $ctag->GetName() . "=" . $fields_value,"",$filterarr) . '">全部</a>' : '<span class="hover">全部</span>'); //修改为绝对路径,下面同理 $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 class="a' . $i . '" title="' . $addonfields_items[$i] . '" href="' . $GLOBALS['cfg_basehost'] . $href . '">' . $addonfields_items[$i] . '</a>' : '<span class="hover">' . $addonfields_items[$i] . '</span>' ); } $dede_addonfields .= '</p>'; break;
前台源代码效果
CSS样式就可以写成
.count3 a{display:inline-block;} .count3 a0{background:#c00} .count3 a2{background:#red}
就可以实现类似淘宝商品的颜色筛选功能,自己动下手,有不明白的可以咨询QQ:570521548
发表评论
评论列表(条)