Як отримати товар за ID в Magento 2?

Хоча Magento 2 є дуже гнучкою та простою в управлінні платформою електронної комерції, управління інтернет-магазином іноді може бути досить складним. Так само, як отримання даних замовлення за ідентифікатором приросту , отримання товарів за ID, безумовно, є важливою навичкою.

Оскільки це одна з найчастіших операцій, з якими стикаються під час роботи з Magento, ви повинні знати, як це зробити. Існує кілька способів зробити це, і в цій статті ви дізнаєтеся, як використовувати кожен з них.

Отримання товару за ID за допомогою фабричного методу

Найпоширеніший спосіб отримання товару за ID в Magento 2 - це використання фабричного методу. Для цього використовуйте наступний код:

protected $_productFactory;
public function __construct(
\Magento\Catalog\Model\ProductFactory $productFactory
) {
$this->_productFactory = $productFactory;
}

Після цього отримайте товар за ID, виконавши команду нижче.

$product = $this->_productFactory->create()->load($id);

Отримання продукту за ID за допомогою репозиторію API

Репозиторій API – це інший метод, який ви можете обрати. Виконайте наступний код, щоб отримати об'єкти продукту:

protected $_productRepository;
public function __construct(
\Magento\Catalog\Api\ProductRepositoryInterface $productRepository
) {
$this->_productRepository = $productRepository;
}

Потім виконайте команду нижче, щоб отримати продукт за ID:

$product = $this->_productRepository->getById($id);

Отримання продукту за ID за допомогою менеджера об'єктів

Нарешті, менеджер об'єктів також дозволяє отримувати продукт за ID в Magento. Як ви, мабуть, знаєте, цей метод досить складний. Однак наступний код допоможе вам отримати продукти за ID:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->get('Magento\Catalog\Model\Product')->load($product_id);

Примітка: ми рекомендуємо вам уникати прямого використання методу менеджера об'єктів, оскільки він приховує реальні залежності класу.

Ось так. Кожен із методів призначений для оптимізації роботи з розробки для вас. Просто виберіть той, який найкраще відповідає вашим вимогам.

Щойно ви освоїте отримання продукту за ID, ви можете продовжити та навчитися отримати колекцію товарів за ідентифікатором категорії в Magento. Це може стати в нагоді.