2014-07-17 55 views
1

我一直在研究maga菜單。我在收集PHTML,如:Magento - 如何過濾phtml中的類別

<?php $_helper = Mage::helper('catalog/category') ?> <?php $_categories = $_helper->getStoreCategories() ?> <?php $currentCategory = Mage::registry('current_category') ?>

現在我必須添加過濾器來顯示特定類別。就像我有一個數組(1,2,3,4)我想要顯示的類別。所以我怎麼能過濾器應用到這個助手。

任何人有任何建議,請回答。

謝謝。

回答

1

第一個答案是正確的,但因爲它消耗不必要的數據庫往返它的效率不高。 @ Karan的代碼向每個ID的數據庫發出查詢。試想一下,如果要過濾的分類ID的數量是50或以上。

我的例子是這樣的:

<?php 

$catIds = array(1,2,3,4); 

$catCollection = Mage::getModel('catalog/category')->getCollection()->addAttributeToFilter('id', $catIds)->addAttributeToFilter('is_active',1); 

foreach($catCollection as $category){ 
    echo $category->getName()." "; 
} 

這將數據庫往返減少到只有一個。

+0

是磨砂你是對的。它減少了數據庫查詢之旅。 thans :) –

1

使用此代碼

<?php $catids[]=array(1,2,3,4); 

foreach($catids as $id): 

         $_category = Mage::getModel('catalog/category')->load($id); 

        if($_category->getIsActive()): 
          echo $_category->getName(); 
        endif; 
endforeach; 

?> 

,不要忘了給我的答案鏈接,如果它是有幫助的

+0

高興地幫助:) –

相關問題