亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

Magento中顯示指定分類產(chǎn)品 子分類及分類產(chǎn)品數(shù)量

2024-08-30 19:06:38
字體:
供稿:網(wǎng)友

本文章來給大家介紹在Magento中顯示指定分類產(chǎn)品 子分類及分類產(chǎn)品數(shù)量的實(shí)現(xiàn)程序,方法也很簡(jiǎn)單的,各位朋友可參考.

二次開發(fā)中經(jīng)常遇到一種情況,就是判斷一個(gè)分類是否屬于某一個(gè)大的分類,而大的分類包括很多子分類成樹狀結(jié)構(gòu),基本的方法都是先獲取大分類下的所有子分類的信息,然后再挨個(gè)比較看是否有ID和待定ID相等,一種用遞歸方法獲取大分類所有的ID,第二種用隊(duì)列等非遞歸的方法獲取所有子分類ID,第二種明顯性能要好一些.

本文在magento的模板文件里測(cè)試成功一個(gè)函數(shù):輸入一個(gè)分類的ID,將返回該分類下所有子分類(遞歸獲取)的ID,組成一個(gè)數(shù)組返回,所用的方法為用隊(duì)列實(shí)現(xiàn)的非遞歸方法,代碼如下:

  1. /** 
  2. * 輸入:某一個(gè)分類的ID數(shù)字 
  3. * 返回: 該分類下所有子分類的ID組成的數(shù)組 
  4. * 可用于: 模板文件中可以直接使用,也可以用于action等文件類內(nèi)部 
  5. * 實(shí)現(xiàn)思路:使用隊(duì)列的方法實(shí)現(xiàn)非遞歸,對(duì)樹從上往下遍歷 
  6. **/ 
  7. function getAllChildrenOfCategory($cateid){ 
  8.  $resArr = array();//結(jié)果數(shù)組 
  9.  $queueArr = array();//隊(duì)列數(shù)組 
  10.  array_push($queueArr,$cateid); 
  11.  
  12.  while($currentcid = array_pop($queueArr)){ 
  13.   array_push($resArr,$currentcid);            
  14.   //處理當(dāng)前節(jié)點(diǎn)的孩子節(jié)點(diǎn) 
  15.   $_category = Mage::getModel('catalog/category')->load($currentcid); 
  16.   $subcats = $_category->getChildren(); 
  17.    
  18.   $idarrs = explode(',',$subcats); 
  19.   foreach($idarrs as $subCatid){ 
  20.    if(!$subCatidcontinue
  21.    $_subcategory = Mage::getModel('catalog/category')->load($subCatid); 
  22.    if($_subcategory->getIsActive()) { 
  23.     array_push($queueArr,$subCatid); 
  24.    }  //開源軟件:Vevb.com 
  25.   } 
  26.   reset($queueArr); 
  27.  } 
  28.  return $resArr
  29. //測(cè)試一下 
  30. $allProducerIds = getAllChildrenOfCategory(19); 
  31. $allDesignedIds = getAllChildrenOfCategory(18); 

PHP沒有棧和隊(duì)列的數(shù)據(jù)結(jié)構(gòu),可以用數(shù)組來模擬實(shí)現(xiàn),數(shù)組的array_push和array_pop剛好就是這么兩個(gè)方法,其中因?yàn)閍rray_pop每次會(huì)改變數(shù)組的指針,所以可以在循環(huán)的末尾reset一下重置數(shù)組.

最后的測(cè)試,輸入的是兩個(gè)分類的ID,函數(shù)執(zhí)行結(jié)束以后,返回的數(shù)組里面就是所有子分類的ID,如果我們要調(diào)用指定分類下的產(chǎn)品和獲取子分類及產(chǎn)品數(shù)量 上面辦法實(shí)現(xiàn)不完美.

Magento首頁(yè)及分類頁(yè)面?zhèn)冗厵诮?jīng)常需要調(diào)用某一個(gè)分類下的產(chǎn)品,例如首頁(yè)的Featured Product等,這些分類一般保持不激活狀態(tài),我們可以添加店鋪中比較暢銷的產(chǎn)品到該分類中,并從前臺(tái)調(diào)用,下面一段代碼主要用處就是在Magento中獲取指定分類下的產(chǎn)品,代碼如下:

  1. $products = Mage::getModel('catalog/category')->load($category_id
  2.   ->getProductCollection() 
  3.   ->addAttributeToSelect('*'
  4.   ->addAttributeToFilter('status', 1) 
  5.   ->addAttributeToFilter('visibility', 4); 

將上面的$category_id修改為需要顯示產(chǎn)品的分類id,該id可以在分類頁(yè)面中看到,上述代碼中還捎帶了一些過濾,產(chǎn)品狀態(tài)為激活,并處于可見狀態(tài).

很多Magento的項(xiàng)目中,客戶需求將每個(gè)當(dāng)前分類下的每個(gè)子分類以及該分類下的產(chǎn)品數(shù)量全部顯示出來,類似于Category (108)的形式.

想實(shí)現(xiàn)這種效果,就必須要知道如何獲取當(dāng)前分類的子分類,并了解Product Collection類中的count()方法,該方法用于獲取任意形式下對(duì)于Product Collection進(jìn)行篩選后的產(chǎn)品數(shù)量,代碼如下:

  1. // 獲取當(dāng)前分類模型 
  2. $currCat = Mage::registry('current_category'); 
  3.  
  4. //獲取當(dāng)前分類的所有子分類的模型集合 
  5. $collection = Mage::getModel('catalog/category')->getCategories($currCat->getEntityId()); 
  6.  
  7. //循環(huán)子分類的模型集合 
  8. foreach($collection as $cat) { 
  9.     if($cat->getIsActive()) { 
  10.         $category = Mage::getModel('catalog/category')->load($cat->getEntityId()); 
  11.  
  12.         //獲取子分類的產(chǎn)品Collection,并通過count()方法,獲取該子分類的產(chǎn)品數(shù)量 
  13.         $prodCollection = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($category); 
  14.         Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($prodCollection); 
  15.         Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($prodCollection); 
  16.  
  17.         $html .= '<a href="<?php echo $category->getUrl() ?>"><?php echo $category->getName() ?></a> (<?php echo $prodCollection->count() ?>)<br/>'
  18.     } 
  19. }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
sm性调教片在线观看| 激情综合色播五月| 亚洲欧美视频在线观看视频| 久久精品视频一| 国内精品嫩模av私拍在线观看| 在线免费av一区| 国产黄色小视频在线观看| 一本大道av一区二区在线播放| 国产成人福利网站| 日韩精品一区二区三区视频在线观看| japanese23hdxxxx日韩| 亚洲女同二女同志奶水| 韩国理伦片一区二区三区在线播放| 日韩精品久久| 成人免费在线视频| 中文字幕在线一二| 国产精品亚洲欧美一级在线| 久久品道一品道久久精品| 欧美 日韩精品| 国产成人av片| 欧美理论片在线观看| 亚洲小说区图片区| 欧美日韩一区二区不卡| 日韩欧美在线免费| 99热国产在线观看| 亚洲欧美综合精品久久成人| 日韩人妻无码精品综合区| 99精品老司机免费视频| 亚洲免费黄色片| 成人免费黄色在线| av中文在线播放| 国产传媒在线看| 欧美刺激午夜性久久久久久久| 亚洲另类欧美日韩| 国产精品日韩精品中文字幕| 99国产精品私拍| 55夜色66夜色国产精品视频| 精品福利电影| 一区二区三区日韩视频| 国产又大又黑又粗| 国产一区二区三区日韩| www.av导航| 欧美午夜精品久久久久久孕妇| 久久免费看少妇高潮v片特黄| 亚洲欧美日韩精品综合在线观看| 啊啊啊一区二区| 成人在线超碰| 日韩dvd碟片| 老司机精品视频一区二区三区| 亚洲成在人线免费观看| 99re这里只有| 欧美一区二区三区男人的天堂| 精品国产精品久久一区免费式| 国产精品电影一区| 午夜一级毛片| 亚洲国产成人精品综合99| 国产精品一区二区不卡| 青草影院在线观看| 丰满少妇一区二区| 国产剧情av麻豆香蕉精品| 日本特黄a级高清免费大片| 日韩欧美资源站| 亚洲欧洲成人| 成 人 免费 黄 色| 亚洲伊人观看| 波多野结衣家庭教师视频| 岛国毛片在线播放| 视频一区二区在线播放| 色悠悠久久久久| 国产理论在线播放| 中文天堂在线资源| 韩国成人av| 成人福利电影| 91亚洲精品国产| 不卡的免费av| 成年网站免费在线观看| 少妇一级淫片免费放中国| 国产精国产精品| 日本精品一二三区| 岛国片免费看| av免费播放网站| 日韩av在线中文字幕| 精品国产一区二区三区久久久蜜月| 公交车上扒开嫩j挺进去| www.四虎成人| 亚洲av综合色区无码一区爱av| 爱啪视频在线观看视频免费| 91视频导航| 9999久久久久| 亚洲黄色免费av| 青青久精品观看视频最新| 影音先锋在线影院| www.av99| 国产精品一色哟哟| 四虎影院一区二区三区| 久久精品国产一区二区三区日韩| 欧美国产禁国产网站cc| 视频国产精品| 无码人妻丰满熟妇区bbbbxxxx| igao视频网在线视频| 欧美日本视频在线| 欧美国产成人精品| 91美女精品网站| 在线观看国产中文字幕| 男人添女人下部高潮视频在线观看| 在线影音av| 久久久免费在线观看| wwwxxx色| 亚洲国产精彩中文乱码av在线播放| 乡村艳史在线观看| 无码免费一区二区三区免费播放| 欧美一区二区激情视频| 免费福利在线观看| 香蕉精品999视频一区二区| 欧美 日韩 成人| 动漫av网站免费观看| 麻豆亚洲av成人无码久久精品| 宅男噜噜噜66国产精品免费| 免费高潮视频95在线观看网站| av成人动漫| 俄罗斯av网站| 91香蕉视频在线观看视频| 国产成人亚洲精品乱码在线观看| 国产精品丝袜在线| 日日爱夜夜操| 97久久精品人搡人人玩| 91精品一区二区三区久久久久久| 黄色一级大片在线免费看国产一| 999久久欧美人妻一区二区| 污片视频在线免费观看| 亚洲1卡2卡3卡4卡乱码精品| 自拍偷拍 国产| 国产精品中文字幕制服诱惑| 日韩在线观看第一页| 这里精品视频免费| 亚洲免费黄色网| 给我免费播放片在线观看| 91精品久久久久久久久久久| 99热在线免费播放| avav成人| 久久久精品视频国产| 国产精品老熟女一区二区| 四虎国产成人免费观看| 欧美日韩中文| 色妞久久福利网| 亚洲精品tv久久久久久久久久| 91小视频在线播放| 欧美二区三区91| 91丨porny丨中文| 原创国产精品91| 91av在线不卡| 日韩av在线不卡| 99久re热视频精品98| 日韩精品欧美大片| 欧美激情精品久久久久久免费| 精品999网站| 欧美两根一起进3p做受视频| 国产成人亚洲欧美电影| 伊人久久成人| 91精品国产高清久久久久久久久| 久久国产成人| 电影天堂久久| 欧美在线91| av片在线免费| 国产精品美女黄网| 亚洲午夜黄色| 久久精品日产第一区二区三区高清版| 亚洲国产日韩一区二区| 亚洲欧美日韩中文在线制服| 日韩久久一区二区三区| www.四虎在线| 亚洲第一成肉网| 俺去啦最新地址| 国产黄色高清视频| 欧美一区二区三区久久精品茉莉花| 日韩一区二区三区在线播放| 乱人伦视频在线| 黄色精品免费| 欧美片一区二区三区| 国产又黄又粗又猛又爽| h视频免费看| 亚洲男人都懂的网站| 日韩视频欧美视频| 91精品国产一区二区在线观看| 欧美先锋资源| 亚洲一卡二卡在线观看| 一本久道综合色婷婷五月| 蜜桃a∨噜噜一区二区三区| 97久久精品人人做人人爽| www.久草.com| jizzjizzjizzjizz| 欧美人妻一区二区| 国产精品v日韩精品v在线观看| 久久影院一区| 中文字幕在线国产精品| 日韩一区二区三区免费观看| 久久国产精品久久久| 久久久综合久久久| www.国产黄色| 男人的天堂狠狠干| 精品视频黄色| 91免费版网站在线观看| 国产日韩精品一区二区浪潮av| 国产亚洲精品一区二555| …久久精品99久久香蕉国产| 国产精品自拍视频一区| 99视频都是精品热在线播放| 亚洲欧洲av在线| 在线电影福利片| 色综合婷婷久久| 日本三级黄色网址| 婷婷激情综合| 在免费jizzjizz在线视频| 久久亚洲国产成人精品性色| 天天爽天天爽天天爽| av天天在线| 国产精品成人久久久久| 亚洲人成毛片在线播放| 91视频8mav| 欧美丰满日韩| 国产大屁股喷水视频在线观看| 日韩免费黄色片| av免费观看国产| 亚洲成人福利视频| 免费能直接在线观看黄的视频| 一区二区三区视频在线| 国产精品亚洲专一区二区三区| 欧美bbbxxxxx| 欧美国产精品一区二区三区| 人妻激情偷乱视频一区二区三区| jk漫画禁漫成人入口| 亚洲av综合色区无码一区爱av| 欧美日韩一区二区在线观看| 一本色道久久综合亚洲精品高清| 国产三级免费观看| 欧洲专线二区三区| 风间由美一区二区三区| 国产亚洲视频在线观看| 理论片中文字幕| 超碰97免费观看| av资源网一区| 亚洲视频在线免费看| av在线免费观看国产| 蘑菇福利视频一区播放| 538任你躁在线精品视频网站| 西西裸体人体做爰大胆久久久| 综合久久av| 在线观看麻豆| 在线观看91精品国产入口| 丝袜美腿一区| 手机在线观看你懂的| caoporn超碰国产公开| 国产真实有声精品录音| 国产一级激情| 精品人妻互换一区二区三区| 精品日韩欧美| 日韩av一级电影| wwwwwxxxx日本| 女人丝袜激情亚洲| 午夜伦理福利在线| 久久精品中文字幕免费mv| 日本一区二区视频| 久久精品理论片| 女人黄色免费在线观看| av在线加勒比| 三级黄在线观看| 蜜桃视频在线观看网站| 特级黄色录像片| 伊人成人免费视频| 女女百合国产免费网站| 99er热精品视频| 伊人成综合网yiren22| 国产精品69久久久久水密桃| 深夜视频在线观看| 不卡视频在线| 色哟哟网站在线观看| 久草在线资源视频在线观看| 捆绑紧缚一区二区三区在线观看| 日韩一级片在线观看| 国产系列在线观看| 亚洲成人激情小说| 中国特级黄色片| 国产无码精品在线观看| 国产成人av一区二区三区在线观看| 天堂网www在线中文天堂| 欧美精品久久久久| 黄色大片在线观看| 欧美在线视频日韩| 亚洲欧洲黄色网| 国产精品视频一区二区三区经| 国产高清精品久久久久| 欧美一级小视频| 久久99精品这里精品3| 在线观看一区二区视频| 亚洲av无码乱码国产精品fc2| 欧美乱xxxxxxxxx| a级在线免费观看| 91video| 亚洲国产中文字幕在线视频综合| 韩国三级在线观看久| 亚洲v日韩v综合v精品v| 天天操天天操天天操天天操天天操| 精品国产一二三四区| 亚洲毛片播放| 亚洲精品在线观看av| 一级特黄特色的免费大片视频| 菠萝蜜视频在线观看一区| 精品一区二区三区高清免费不卡| 国产视频青青| 国产suv精品一区二区四区视频| 亚洲mv在线观看| 欧美日韩一区二区三区在线视频| 成年人在线视频免费观看| jizzjizzjizzjizz日本| eeuss草民免费| av电影高清在线观看| 国产亚洲精品7777| 国产在线看片免费视频在线观看| 国产高清精品一区二区| 无遮挡在线观看| 精品国产欧美一区二区| 免费看黄资源大全高清| 成人免费在线电影网| 亚洲色成人一区二区三区小说| 日本欧美日韩| 亚洲欧美日韩中文视频| 亚洲h精品动漫在线观看| 国产精品视频最多的网站|