目录价格规则Magento 2

时间:2019-01-30 00:26:59

标签: magento2 sales

我在Magento 2中创建了一个自定义模块。在该模块中,我想在产品页面上显示一些横幅,倒数计时器和其他详细信息,还在类别页面上显示标签或文本。为此,我扩展了目录销售规则模块。根据我的要求添加了一些额外的字段。现在,我想显示所有已应用销售规则的产品ID,以及所有其他详细信息,例如根据销售等排名最高的横幅广告,倒数计时器等。

我的阻止代码是

<?php
    namespace Custom\Sales\Block;

    class Flash extends \Magento\Framework\View\Element\Template
    {
        public function __construct(
            \Magento\Backend\Block\Template\Context $context,
            \Magento\CatalogRule\Model\ResourceModel\Rule\CollectionFactory $ruleFactory,
            array $data = []
        ) {
            $this->_ruleFactory = $ruleFactory;
            parent::__construct($context, $data);
    }

    public function getCatalogeRuleId()
    {
        $catalogRuleCollection = $this->_ruleFactory->create()
            ->addFieldToFilter('is_active',1);

        // return $catalogRuleCollection;

        $resultProductIds = [];

        foreach ($catalogRuleCollection as $catalogRule) {
            $productIdsAccToRule = $catalogRule->getMatchingProductIds();

            // echo json_encode($productIdsAccToRule); exit;

            $websiteId = $this->_storeManager->getStore()->getWebsiteId();

            foreach ($productIdsAccToRule as $productId => $ruleProductArray) {
                if (!empty($ruleProductArray[$websiteId])) {
                    $resultProductIds[$productId] = $catalogRule->getData();
                }
            }

            return $resultProductIds;
        }
    }
} 

现在,当我打印阵列时,我仅获得一个销售规则数据,但是我创建了3个不同的销售

enter image description here

0 个答案:

没有答案