Добрый день! Подскажите , как можно выбрать только те категории, у которых есть товар в наличии, т.е. количество товара больше 0
magento 1.14
А как вы пробуете выбрать и что именно у вас не получается?
да вот дело в том что я и не могу понять как мне выбирать. у меня есть выборка всех категорий, могу получить количество товара в каждой, но выбирается и тот товар которого на складе 0
вот получаю айдишник категории / кол-во товара:
$categoryCollection = Mage::getModel('catalog/category')->getCollection() ->addFieldToFilter('level', array('gteq' => 2)) ; foreach($categoryCollection as $category) { echo $category->getId()." / ".$category->getQty()."<br>"; }
Не совсем понятно, где вы это хотите использовать.
Самый простой способ в настройках магазина указать, что не надо показывать товары, которых нет в наличии. Тогда в вашем примере можно проверять, что
$category->getProductCount() > 0
Если так не устраивает, то надо плясать не от коллекции категорий, а от коллекции товаров. Делать к ней JOIN таблицы со связями категорий и товаров, и выбирать от всего этого уникальный список ID категорий, по которому уже можно отфильтровать коллекцию категорий. Но там получится достаточно большой кусок кода и пишется он не за 5 минут.