Как получить информацию о категории продукта с помощью коллекций в Magento - PullRequest
4 голосов
/ 16 марта 2010

Я пытаюсь вывести все товары из нашего магазина Magento - работает следующий код, однако мне также нужно получить идентификатор категории и имя родительской категории. Кто-нибудь может подсказать, как мне это сделать?

$product = Mage::getModel('catalog/product'); 
$productCollection = $product->getCollection()
->addAttributeToSelect('*');


foreach ( $productCollection as $_product ) {
    echo $_product->getName().'<br/>';        
}

Ответы [ 2 ]

8 голосов
/ 08 июня 2011

В некоторых случаях $ _product-> getCategory () может возвращать пустое значение и вызывать ошибку.

Лучшее решение - выбрать категории по идентификатору:

$categoryIds = $_product->getCategoryIds();

foreach($categoryIds as $categoryId) {
    $category = Mage::getModel('catalog/category')->load($categoryId);
    echo $category->getName();
    echo $category->getUrlPath();
 }
4 голосов
/ 16 марта 2010

Поскольку товары могут быть отнесены к нескольким категориям, я думаю, что ваша концепция может быть немного неуместной, если вы не загружаете коллекцию для каждой категории. Что вы ожидаете увидеть, если для данного продукта есть несколько категорий?

Независимо от того, на странице категории вы можете использовать следующее:

$currentCat = $_product->getCategory();

Чтобы получить все категории, к которым относится этот продукт:

* +1007 *

Надеюсь, это поможет. Спасибо,

Джо

...