国产女人被狂躁到高潮小说,亚洲日韩一区二区三区,色窝窝无码一区二区三区成人网站 ,丰满岳乱妇在线观看中字无码

400-800-9385
網(wǎng)站建設資訊詳細

thinkphp框架下解決商城網(wǎng)站的多個類別多選的方法

發(fā)表日期:2018-08-17 09:41:34   作者來源:陳應信   瀏覽:5652   標簽:商城網(wǎng)站建設    
國內(nèi)的商城網(wǎng)站在篩選類別的時候,篩選條件大部分都是單選的,像某東某寧那樣的網(wǎng)站就是這樣子的,如下圖所示:

商城面包屑

但對于國外或中國香港的用戶來說,他們在瀏覽商城網(wǎng)站的時候更習慣類別多選的操作,就是根據(jù)自己的愛好選擇自己需要的一個或多個分類,這樣也能過濾掉自己不需要的分類商品,網(wǎng)頁的排版如下圖所示:

商品分類

 
像上圖那樣的多個分類,例如我希望找到外套和上衣的類別,其他的類別不想顯示,則可以點擊這兩個類別,品牌分類的原理也是一樣。現(xiàn)在要解決的事情是如何用thinkphp框架寫出多個分類并多選的功能。
 
首先要做的是,在當前頁面下將所有的分類的以id名稱為key值放在同一個數(shù)組里,我們將這個數(shù)組命名為$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,這里需要引入我寫的一個函數(shù),用這個函數(shù)可以快速的獲取到不同分類名稱a鏈接的URL,如下圖所示:

函數(shù)代碼

分類的頁面代碼如下圖:

頁面分類

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

數(shù)組函數(shù)

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

作者:方維網(wǎng)絡技術部陳應信
如沒特殊注明,文章均為方維網(wǎng)絡原創(chuàng),轉載請注明來自http://www.sdlwjx666.com/news/4518.html