<form id="fbxrn"><thead id="fbxrn"></thead></form>

      當前位置:首頁 > 建站教程 > 極致CMS教程>正文

      極致CMS自定義字段內容篩選[包括單選和多選]的實現方法

      2020-10-30 15:40:26 分類: 極致CMS教程 閱讀(4058) 編輯:小郭 評論(6)

      最近群里很多人問極致CMS如何實現自定義字段內容篩選包括單選和多選,今天小郭就來分享一下實現方法和具體的代碼。

      效果如下圖:

      極致CMS自定義字段內容篩選

      先看一下單選內容篩選的代碼,用screen標簽:

      {screen molds="product"   orderby="orders desc"  as="s"}
      自定義字段名字:{$s["fieldname"]}
      自定義字段選項輸出:
          默認全部/全選:
          對應鏈接:{$s["url"]}
          判斷選中:{if(!isset($filters[$s["field"]]))}選中全部{/if}
          對應值為:0
          {foreach $s["list"] as $ss}
          *每個選項鏈接:{$ss["url"]}
          每個選項字段:{$s["field"]}
          每個選項名稱:{$ss["value"]}
          每個選項對應的值:{$ss["key"]}
          判斷是否已選:
          {if(isset($filters[$s["field"]]) && strpos(",".$filters[$s["field"]].",",",".$ss["key"].",")!==false)} 
          這里寫選中時的標識
          {/if}
          {/foreach}
      {/screen}

      前面提到過,選項鏈接的缺省值,都講的是單選篩選,也就是說,一個選擇字段,只能選擇一個參數,不能選擇多個參數。 比如:顏色colors:紅色,白色,黃色,只能選擇一種顏色進行篩選。 

      現在我就要講解如何支持同時選擇紅色、白色兩個選項的篩選 (官方DEMO就是多選篩選) ? 多選篩選關鍵一個地方在于,如何把多個選項同時傳給后端處理,我用官方demo中的篩選鏈接講解。

      http://demo.jizhicms.cn/screen-product-1-categories-1,2-brands-1-os-.html

      screen:標識這個鏈接請求的是screen篩選控制器

      product:產品模塊的標識

      1:對應的欄目ID值

      categories-1,2-brands-1-os-:傳遞的篩選參數

      很容易看出上面傳遞的篩選參數用-拼接兩個參數,用,拼接多個參數值,而空值則代表缺省,

      下面看ajax請求多選篩選:

      function get_tpl(jz_screen){
      var tid = {$type["id"]};
      var molds = "{$type["molds"]}";
      //Screen/index/molds/$1/tid/$2/jz_screen/$3
      //screen-molds-tid-jz_screen
      var gourl = "{fun get_domain()}/screen-"+molds+"-"+tid+"-"+jz_screen+".html";
      $("#gourl").val(gourl);
      $.ajax({
       url:"{fun U("screen/index")}",//請求的url地址
      // dataType:"json",//返回格式為json
       async:true,//請求是否異步,默認為異步,這也是ajax重要特性
       data:{tid:tid,molds:molds,jz_screen:jz_screen,ajax:1,ajax_tpl:1},//參數值
       type:"GET",//請求方式
       beforeSend:function(){
          //請求前的處理
          },
           success:function(r){
              if(r==1){
                  $(".products").html("暫無數據~");return false;
              }
              $(".products").html(r);
      
          },
           complete:function(){
          //請求完成的處理
          },
           error:function(){
          //請求出錯處理
              alert("網絡錯誤");
          }
      ?
      
      
      })
      }

      用jz_screen作為篩選字段的拼接的參數傳遞,篩選控制器處理這個字段內拼接的參數及參數值 ?。


      以上就是極致CMS自定義字段多選和單選內容篩選的具體方法和代碼了,更多極致CMS教程請關注小郭博客極致CMS建站教程專欄。

      下一篇

      已經是最后一篇

      熱門標簽 更多

      高清性欧美暴力猛交BD_东北偷拍厕所XXXXX_国产+成+人+亚洲欧洲