Как получить кол-во товара?

Вывести кол-во товара

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

13.10.2011 20:56

Привет всем! Подскажите пожалуйста как вывести количество товара?
Думаю, что как-то так $product->getId(); только вместо getId(), должно быть кол-во, но пока не нашел..
Буду рад вашей подсказке..

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

13.10.2011 20:58

count (Mage::getResourceModel('catalog/product_collection'));


#3 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

13.10.2011 21:00

Даже лучше уточню, товара который еще доступен, т-е скажем, кол-во одного товара - 200 штук
Из них купили уже 50 - остаток 150.
Вот эти 150 свободных единиц надо вывести.

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

13.10.2011 21:05

Как отбраковать из коллекции отсутствующие на складе товары

#5 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

13.10.2011 21:09

А почему отсутствующие товары?
Я вставил этот код:
$products = Mage::getModel ('catalog/product')->getCollection();



$products->addAttributeToSelect ("*");



/** @var Mage_CatalogInventory_Model_Stock $stock */
$stock = Mage::getSingleton('cataloginventory/stock');



echo $stock->addInStockFilterToCollection ($products);

________
Но на выводе ничего не получил, или же что-то не так делаю?
Наверное, надо передать ID выбранного товара?

Нашел в интернет огрызок кода:

<?
	return Mage::getResourceModel('cataloginventory/stock_item_collection')->addStockFilter($this->getId());
						?>


Как его применить?

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

13.10.2011 21:13

Как получить количество на складе конкретного товара:
Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)->getQty();


#7 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

13.10.2011 21:22

Дмитрий, получается что так: echo Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)->getQty();
Или я неправильно вывожу?

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

13.10.2011 21:23

Да.

#9 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

13.10.2011 21:24

Тогда подскажите пожалуйста, потому как со структурой только знакомлюсь, думаю что пойдет на пользу.

#10 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

13.10.2011 21:25

Правильно.
Одна тема - один вопрос.

#11 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

13.10.2011 21:27

Не совсем вас понял, если правильно, почему на выходе у меня ничего не отобразило? :(

#12 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

13.10.2011 21:28

Возможно, вы не инициализировали переменную $product.

#13 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

13.10.2011 21:35

Скорее всего, вот какие строки вижу в скрипте:
$productUrl = $_product->getProductUrl();
Есть $_product...но это не то как я понимаю...
Не хочу создавать новую тему, как инициализировать тогда?

Думаю, что так:
$product = $item->getProductId();

#14 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

13.10.2011 21:35

В переменную $product надо загрузить объект-товар (объект типа Mage_Catalog_Model_Product).

#15 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

13.10.2011 21:41

Сложновато для меня это, смотрю справку - много методов и функции и как вызывать не ясно..только как выше я написал, только так думаю, но выдает ошибку

#16 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

13.10.2011 21:43

У вас тип Mage_Catalog_Model_Product, вероятно, имеет переменная $_product.
Цитировать мои сообщения не нужно.

#17 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

13.10.2011 21:46

Да, благодарю, "въехал", получилось...
Одно НО, мне выводит общее кол-во товара, включая тот, который раскуплен, а надо лишь доступный?!
Куда копнуть?

Поделиться темой: