Я получаю коллекцию товаров на основе текущей категории. Мне нужно, чтобы эта коллекция содержала как входящие, так и отсутствующие товары, а также данные о ценах для правильного отображения.
Мой магазин сконфигурирован для хранения цен на товары с учетом налогов и для показа цен как включающих, так и эксклюзивных на витрине магазина.
Код для получения коллекции выглядит следующим образом:
$category = Mage::registry('current_category');
$_productCollection = Mage::getModel('catalog/product')->getCollection()
->addCategoryFilter($category)
->addAttributeToSelect(['sku', 'name', 'price'])
->addAttributeToFilter('status', 1)
->addAttributeToSort('jump_number', Varien_Data_Collection::SORT_ORDER_ASC);
Проблема с вышесказанным заключается в том, что при загрузке ценового блока с использованием getPriceHtml()
метода как включающие, так и исключительные цены отображаются как включающая цена.
После некоторых исследований я обнаружил, что добавление addFinalPrice()
метода в мою коллекцию дает мне ожидаемую цену - правильную эксклюзивную и правильную инклюзивную цену.
Однако, если я включу этот addFinalPrice()
метод, моя коллекция больше не будет содержать товаров на складе.
Есть ли способ вернуть правильные данные о ценах и иметь в коллекции как товарную, так и нет в наличии продукцию?
Я решил эту проблему сейчас, и она на самом деле довольно проста и логична - мне просто нужно было перейти
Configuration -> Catalog -> Inventory
и установить «Показать на складе»Yes
.С указанным выше значением
Yes
иaddFinalPrice()
добавленным в коллекцию методом я теперь получаю все свои продукты и правильные данные о ценах.источник