Як отримати колекцію пов'язаних продуктів в Magento 2?

Пов'язані продукти є одним із найпоширеніших способів збільшити продажі у сфері електронній комерції. Вам потрібно додати пов’язані продукти вручну або ж автоматично за допомогою правил пов’язаних продуктів, щоб збільшити середню вартість замовлення. Проте є й інший спосіб. Ви можете отримати колекцію пов'язаних продуктів у Magento програмно.

Тому, якщо ви хочете уникнути одноманітного ручного налаштування пов'язаних продуктів у Magento, продовжуйте читати.

Для того, щоб отримати колекцію пов'язаних продуктів в Magento 2:

1. Створіть файл Extension.php у папці app/code/Vendor/Extension/Block.

<?php
namespace Vendor\Extension\Block;
use Magento\Framework\View\Element\Template;
use Magento\Backend\Block\Template\Context;
use Magento\Framework\Registry;
class Extension extends Template
{
protected $registry;

public function __construct(
Context $context,
Registry $registry,
array $data = []
)
{
$this->registry = $registry;
parent::__construct($context, $data);
}

public function _prepareLayout()
{
return parent::_prepareLayout();
}

public function getCurrentProduct()
{
return $this->registry->registry('current_product');
}

}

2. Викличте функцію у файлі PHTML.

$currentProduct = $block->getCurrentProduct();

if ($currentProduct = $block->getCurrentProduct()) {
    $relatedProducts = $currentProduct->getRelatedProductCollection()
        ->addAttributeToSelect('name');

    if (!empty($relatedProducts)) {
        foreach ($relatedProducts as $relatedProduct) {
            echo $relatedProduct->getName() . '
'; } } }

Якщо продукти, які ви хочете отримати, пов’язані за категорією, дізнайтеся, як отримати колекцію продуктів за ID категорії.