বিভাগের পৃষ্ঠা (ফ্রন্টএন্ড) এর পণ্য গ্রিডটি ক্যাটালগ_ বিভাগে_ভিউ.এক্সএমএল এর লেআউটের মাধ্যমে রেন্ডার করা হয় ।
বলি আমার কাস্টম পণ্য সংগ্রহ রয়েছে (যা আমি পেয়েছি
ProductRepositoryInterface::getList($searchCriteria) method
একটি কাস্টম ব্লক শ্রেণিতে এবং এই সংগ্রহটি রেন্ডার করতে চাই। রেন্ডারড ফলাফলটি ফ্রন্টএন্ডে পণ্য গ্রিড হিসাবে প্রদর্শিত হবে (ঠিক যেমন কোনও বিভাগের পৃষ্ঠার মতো)।
কিভাবে এই কাজ করা যেতে পারে ?
মধ্যে খুঁজছেন দ্বারা catalog_category_view.xml
দুটি উল্লেখযোগ্য লাইন, যা একটি পণ্য সংগ্রহ রেন্ডারিং জন্য দায়ী আছে:
<block class="Magento\Catalog\Block\Category\View" name="category.products" template="Magento_Catalog::category/products.phtml">
<block class="Magento\Catalog\Block\Product\ListProduct" name="category.products.list" as="product_list" template="Magento_Catalog::product/list.phtml">
আমি কীভাবে এই টেমপ্লেট ফাইলগুলিতে আমার কাস্টম পণ্য সংগ্রহ সরবরাহ করতে পারি, যাতে তারা আমার সংগ্রহটি রেন্ডার করে?
আমাকে সংশোধন করুন, আমি যদি এতে ভুল হয়ে থাকি।
আমার ব্লক কোডটি এমনভাবে দেখাচ্ছে:
<?php
namespace Mod\Mod1\Block;
use Magento\Framework\View\Element\Template;
class Main extends Template
{
protected $_filterBuilder;
protected $_filterGroupArray;
protected $_filterGroupBuilder;
protected $_searchCriteriaBuilder;
protected $_productRepository;
protected $_productFactory;
protected $_list;
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Catalog\Api\ProductRepositoryInterface $productRepository,
\Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder,
\Magento\Framework\Api\Search\FilterGroupBuilder $filterGroupBuilder,
\Magento\Framework\Api\FilterBuilder $filterBuilder,
\Magento\Catalog\Model\ProductFactory $productFactory,
array $data = [])
{
$this->_productRepository = $productRepository;
$this->_searchCriteriaBuilder = $searchCriteriaBuilder;
$this->_filterGroupBuilder = $filterGroupBuilder;
$this->_filterBuilder = $filterBuilder;
parent::__construct($context, $data);
}
public function getLoadedProductCollection(){
$searchCrit = $this->buildSearchCriteria('','','','','','5-',1);
$list = $this->_productRepository->getList($searchCrit);
return $list;
}
public function buildSearchCriteria(...){
....
return $searchCriteria;
}
}