2016-09-06 8 views
1

Ich benutze den folgenden Code, um die Kategorien zu zeigen, in denen sich ein Produkt auf meiner Produktseite befindet. Aber ich betreibe Multi-Store mit den gleichen Produkten und es zeigt auch die Kategorien der anderen Websites. Wie kann ich nur die Kategorien der Website anzeigen, die ich besuche?Magento - Kategorien anzeigen Ein Produkt ist in

<?php $categories = $_product->getCategoryIds(); ?> 
    <?php foreach($categories as $k => $_category_id): ?> 
    <?php $_category = Mage::getModel('catalog/category')->load($_category_id) ?> 
<a href="<?php echo $_category->getUrl() ?>"><?php echo $_category->getName() ?> | </a> 
    <?php endforeach; ?> 
+0

Versuchen Sie dies. http://stackoverflow.com/questions/15505221/how-do-i-get-the-category-ids-that-a-product-is-in-with-respect-to-the-store-tha –

Antwort

0

prüfen geladen Kategorie-ID ist vorhanden oder nicht

<?php $categories = $_product->getCategoryIds(); ?> 
    <?php foreach($categories as $k => $_category_id): ?> 
<?php $_category= Mage::getModel('catalog/category')->load($_category_id)?> 
    <?php if($_category->getId()):?> 
     <a href="<?php echo $_category->getUrl() ?>"> 
     <?php echo $_category->getName() ?> | </a> 
     <?php endif;?> 
    <?php endforeach; ?> 
0

Benutzer dieser Code Kategorien von aktuellen Laden zu bekommen.

$storeId = Mage::app()->getStore()->getStoreId(); 
    $rootCategoryId = Mage::app()->getStore($storeId)->getRootCategoryId(); 
    $categoriesCollection = Mage::getModel('catalog/category') 
        ->getCollection() 
        ->setStoreId($storeId) 
        ->addFieldToFilter('is_active', 1) 
        ->addAttributeToFilter('path', array('like' => "1/{$rootCategoryId}/%")) 
        ->addAttributeToSelect('*'); 
       foreach($categoriesCollection as $cat) 
        { 
         $id = $cat->getId();     
         $name = $cat->getName();    
        } 
Verwandte Themen