thinkphp框架下解決商城網站的多個類別多選的方法

2023-03-22    分類: 商城網站

商城面包屑

國內的商城網站在篩選類別的時候,篩選條件大部分都是單選的,像某東某寧那樣的網站就是這樣子的,如下圖所示:

商品分類

但對于國外或中國香港的用戶來說,他們在瀏覽商城網站的時候更習慣類別多選的操作,就是根據自己的愛好選擇自己需要的一個或多個分類,這樣也能過濾掉自己不需要的分類商品,網頁的排版如下圖所示:
像上圖那樣的多個分類,例如我希望找到外套和上衣的類別,其他的類別不想顯示,則可以點擊這兩個類別,品牌分類的原理也是一樣。現在要解決的事情是如何用thinkphp框架寫出多個分類并多選的功能。
首先要做的是,在當前頁面下將所有的分類的以id名稱為key值放在同一個數組里,我們將這個數組命名為$url_arr. 例如類別的小類的id名稱為cid,品牌的id名稱為bid,在URL里顯示如“/cid/100/bid/71.html”,即選擇小類id為100,品牌id為71的條件,那么可以得到$url_arr[‘cid’]=100;$url_arr[‘bid’]=71;如果是多選,我們用半角逗號來分隔,例如/cid/100%2C87/bid/71%2C73.html,其他URL里的”%2C7”就是半角逗號的字符值。

函數代碼

然后我們要讓分類中的a鏈接能很好顯示出確定的URL,這里需要引入我寫的一個函數,用這個函數可以快速的獲取到不同分類名稱a鏈接的URL,如下圖所示:

頁面分類

分類的頁面代碼如下圖:
現在根據頁面代碼對參數進行一些說明:$arr_url就是剛才講的那個值,$id_name也是剛才講的id名稱,也就是cid;$cat_id是當前分類的id值,$url=’’是因為U($url)會等當前頁面的不參數的URL值,默認就讓$url為空就可以了。
圖2里有一個“清除”的功能,就是清除該類的所有條件,同樣是調用getParam函數,只要將$cat_id設置成空就可以了,例如要清除分類的條件,代碼如下:<a href="{$url_arr|getParam='cid',''}">清除</a>。

數組函數

如何判斷該類別是否被選中呢?我們可以用到下圖這個函數:
其中頁面代碼:<span {$vo.cat_id|item_exist_aray=$url_arr['cid']}></span>,默認情況下span的前景為白色,如果加個class=”on”,則span背景為黑色,即該類別被選中了。
要注意的是,在thinkphp的控制器里,需要判斷一下頁面上顯示的各種參數是否空,如果為空就不要將該參數賦于$arr_url了,不然有可能在URL顯示上可能會出現錯誤;在模型里,以前用的條件是category_id=$cid,現在需要用array('in',$cid);需要更改過來

標題名稱:thinkphp框架下解決商城網站的多個類別多選的方法
分享網址:http://m.kartarina.com/news19/246769.html

網站建設、網絡推廣公司-創新互聯,是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有商城網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設
主站蜘蛛池模板: 无码一区二区三区AV免费| 人妻无码视频一区二区三区| 一本大道无码人妻精品专区| 亚洲av无码成人精品区| 日韩人妻无码中文字幕视频| 内射人妻无码色AV天堂| 无码精品人妻一区二区三区人妻斩| 久久国产精品无码HDAV | 亚洲中文字幕无码中文字在线| 国产av永久无码天堂影院| 免费A级毛片无码久久版| 午夜无码国产理论在线| 亚洲永久无码3D动漫一区| mm1313亚洲国产精品无码试看| 久久久久亚洲精品无码蜜桃| 亚洲中文字幕无码久久2017| 国产av永久精品无码| 国产精品亚洲专区无码唯爱网| 人妻丰满AV无码久久不卡| 国产精品无码A∨精品影院| 亚洲无码日韩精品第一页| 亚洲爆乳精品无码一区二区| 无码A级毛片免费视频内谢| 国精品无码一区二区三区在线| 精品国产AV无码一区二区三区| 亚洲精品无码你懂的| 亚洲中文字幕在线无码一区二区| 亚洲精品无码永久中文字幕| 久久伊人亚洲AV无码网站| 乱人伦人妻中文字幕无码久久网| 无码人妻精品一区二区三区不卡| 亚洲AV无码专区在线观看成人| 亚洲成a人无码亚洲成av无码| 亚洲GV天堂无码男同在线观看| 久久久无码精品亚洲日韩京东传媒| 无码国产69精品久久久久网站| 少妇精品无码一区二区三区 | 99精品一区二区三区无码吞精| 亚洲AV人无码综合在线观看| 久久久久久亚洲Av无码精品专口| 日韩精品无码免费一区二区三区|