【问题标题】:Magento: create order programatically: Configurable product issueMagento:以编程方式创建订单:可配置的产品问题
【发布时间】:2014-08-11 21:27:26
【问题描述】:

我正在尝试以编程方式创建订单。

有些可配置产品具有单一基本属性,即尺寸。并且一些可配置产品具有多个(多个)具有大小相同值的关联产品。

现在,尝试添加 此类 具有特定尺寸的可配置产品。但是magento分配首先遇到的兄弟/子/关联产品!因此,值得 SKU/兄弟姐妹删除以创建订单。

我遵循以下链接中的代码:

http://www.blog.plazathemes.com/archives/2149

http://pravams.com/2011/11/11/magento-create-order-programmatically/

有没有办法添加特定 SKU 的配置产品? (类似于 "addProduct" 方法中可接受的参数等)。

【问题讨论】:

    标签: magento configuration magento-1.8


    【解决方案1】:

    如果你有孩子的sku,你可以这样做:

    $_product = Mage::getModel('catalog/product')->loadByAttribute('sku', 'mysku-123');  
    

    如果你有尺寸:

    $childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null,$product);
    foreach ($childProducts as $child) {
        if ($child->getSize()==$size){
           //add the product to the order
        }
    }
    

    然后你在孩子中循环找出大小。

    【讨论】:

    【解决方案2】:

    在添加可配置产品以编程方式创建订单/报价时,我遇到了类似的问题。添加产品时需要在选项数组中设置super_attribute。该值必须包含区分相关产品的属性(例如:颜色、尺寸)。所以,它会是这样的:

    $buyOptions = array(
        'qty' => 1,
        'super_attribute' => array($attributeId => $attributeValue) //ex: array(131 => 53)
    );
    $quote->addProduct($product, new Varien_Object($buyOptions));
    

    我不知道如果您想通过他们的 sku 选择关联产品,但如果您只想从可配置的产品中选择特定的关联产品,上面的代码将起作用。我相信本质上是一样的。

    ps:我在这里回答这个问题是因为在 magento stackexchange 中它被标记为重复(我认为是错误的)。

    【讨论】:

      猜你喜欢
      • 2013-05-05
      • 2012-05-18
      • 1970-01-01
      • 2023-04-04
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多