gpt4 book ai didi

Magento 2 - 使用观察者事件进行产品过滤

转载 作者:行者123 更新时间:2023-12-02 17:02:05 24 4
gpt4 key购买 nike

我正在尝试创建一个观察者,以将其他过滤器应用于产品集合。

所以我使用magento 2事件:catalog_product_collection_load_after

观察者代码是:

 public function execute(\Magento\Framework\Event\Observer $observer)
{
$collection = $observer->getEvent()->getCollection();
$collection->addAttributeToFilter('size',10);
return $this;
}

但是上面的代码可以很好地处理产品集合,但显示错误的分页和产品计数

图层导航也会发生同样的情况。

有什么解决办法吗?

最佳答案

试试这个:

namespace Vendor\Module\Observer;

use Magento\Framework\Event\ObserverInterface;
use Magento\Catalog\Model\Layer\Resolver as LayerResolver;

class CatalogProductCollectionLoadAfter implements ObserverInterface
{
/**
* @var \Magento\Catalog\Model\Layer\Category
*/
protected $catalogLayer;

/**
* @param LayerResolver $layerResolver,
*/
public function __construct(
LayerResolver $layerResolver
) {
$this->catalogLayer = $layerResolver->get();
}

public function execute(\Magento\Framework\Event\Observer $observer)
{
// Get selected filters
$layer = $this->catalogLayer;
$activeFilters = $layer->getState()->getFilters();
}
}

关于Magento 2 - 使用观察者事件进行产品过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35059671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com