婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 網站建設 > 建站知識 > 織夢dedecms圖片聯動篩選教程

織夢dedecms圖片聯動篩選教程

POST TIME:2021-05-23 02:38

這標題起的好像不太好理解,什么是使用圖片聯動篩選?正常織夢的聯動篩選是如下圖所示:

 

現在我們要實現的目標是把第一行篩選變成用圖片代替文本的篩選

若不會織夢dedecms篩選,請看教程:http://www.dede58.com/a/dedejq/9143.html

思路:

思路1: 可不可以在添加字段時直接使用<img src="">作為篩選的字段值?這是一個網友問題這個問題時,我第一時間想到的,但是,經過測試這樣不可以。

 

思路2:可不可以根據生成的篩選鏈接直接在模板里面添加<img src="">,代碼如下所示:

<a title="紅色" href="/plus/list.php?tid=5&yanse=%E7%BA%A2%E8%89%B2"><img src="/sx00.gif"></a>

復制代碼

 

  這樣看上去就可以了,但是,要注意這樣就把篩選寫死了,而篩選是動態的,也就是選擇不同的顏色就會有不同的內容,而且,還與下面的“類型”篩選是聯動的,所以,固定好只能篩選一次,這種方法行不通。

 

  思路3:上面兩種方法試了以后,那接下來唯一要做的就是要修改php代碼了,在include目錄里面找到文件extend.func.php(這個文件是已經二次開發過的具體的代碼請看上面給的教程連接),找到函數 AddFilter($channelid, $type=1, $fieldsnamef, $defaulttid, $loadtype='autofield')

我們在前網頁前臺看到的篩選連接就是這個函數生成的,所以,只要改這個函數就可以了。

 

  找到代碼:switch ($type)

  把這個switch里面的代碼全部替換成如下代碼:

               

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>').' ';
                    
                        $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.'"><img src="/sx0'.$i.'.gif"></a>' : '<span><img src="/sx0'.$i.'.gif"></a></span>')." ";
                        }
                        $dede_addonfields .= '<br/>';
                    break;
                    
                    case 2:
                            $dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is",$filterarr,$regm) ? '<a title="全部" href="'.str_replace("&".$ctag->GetName()."=".$fields_value,"",$filterarr).'">全部</a>' : '<span>全部</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 title="'.$addonfields_items[$i].'" href="'.$href.'">'.$addonfields_items[$i].'</a>' : '<span>'.$addonfields_items[$i].'</span>')." ";
                        }
                        $dede_addonfields .= '<br/>';
                    break;
                }

 

  已經成功實現了,上面的“全部”和第一張圖片不顯示,不是因為不對,而是我沒有添加上圖片,只加了三張圖片,您可以找到相應的圖片,直接放到根目錄即可。

 

  “全部”可以在上面的代碼把全部替換成<img src="">即可,可以參考上面我替換好的:

<img src="/sx0'.$i.'.gif"></a>

 

注意:

  您的圖片必須以00.gif,01.gif這樣的順序起名;

  圖片請放在根目錄里面,如果您想放到根目錄里面其它目錄里面,請修改上面的圖片路徑。

  模板調用請使用如下方式:

{dede:php} AddFilter(1,1,'yanse'); {/dede:php}

{dede:php} AddFilter(1,2,'leixing'); {/dede:php}

其中,AddFileter(1,1,'yanse')這里面的第二個數值代表不同的篩選鏈接,1表示使用圖片,2表示文本鏈接,可以根據需要進行設置。

 

如果我都使用圖片怎么設置,也不難,只需要把上面的case 1:復制一份放到case 2下面并起名為case3,然后,調用方式為:

{dede:php} AddFilter(1,3,'leixing'); {/dede:php}

復制代碼

這樣就二個篩選就可以使用圖片了。




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

  • 400-1100-266
主站蜘蛛池模板: 客服| 铁岭市| 石家庄市| 腾冲县| 山东省| 连江县| 太仆寺旗| 阆中市| 通榆县| 无棣县| 龙陵县| 逊克县| 阿拉善右旗| 班戈县| 浦北县| 沈丘县| 阿合奇县| 和田县| 建昌县| 乌苏市| 赤峰市| 张家口市| 长葛市| 台山市| 临西县| 饶河县| 商水县| 酒泉市| 瓦房店市| 盈江县| 扶风县| 绵阳市| 章丘市| 唐河县| 嘉定区| 枣庄市| 盐亭县| 滦南县| 隆尧县| 兰坪| 杭锦后旗|