【问题标题】:Magento - validate quote item against salesrule conditionsMagento - 根据销售规则条件验证报价项目
【发布时间】:2015-03-03 16:17:47
【问题描述】:

我想根据销售规则/规则的条件验证报价项目。

Actions 用于通过以下方式验证单数项:

$rule->getActions()->validate($item)

有没有办法根据条件做到这一点?

更新:我目前通过动态创建报价并仅向其中添加一个报价项,然后针对该虚假报价进行验证来实现这一点。但是,我仍然想知道是否有其他方法可以实现这一目标。

【问题讨论】:

    标签: php magento zend-framework magento-1.9 magento-1.9.1


    【解决方案1】:

    工作示例:

    $quoteId = Mage::getSingleton('checkout/session')->getQuoteId();
    $quote = Mage::getSingleton('sales/quote')->load($quoteId);
    
    $fakeQuote = clone $quote;
    $fakeQuote->setId(null);
    
    $product = Mage::getModel('catalog/product')->load(PRODUCT_ID);
    
    $item = Mage::getModel('sales/quote_item')->setQuote($fakeQuote)->setProduct($product);
    $item->setAllItems(array($product));
    $item->getProduct()->setProductId($product->getEntityId());
    $item->setQty(1);
    
    $item->getQuote()->setData('items_collection', array($item));
    
    $rule = Mage::getModel('salesrule/rule')->load(RULE_ID);
    if ($rule->getConditions()->validate($item)) {
        // Do something
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      相关资源
      最近更新 更多