将选项值添加到产品,然后使用Magento添加到购物车

NiB*_*iBa 8 php magento

我搜索了一段时间,只出现了一些解决方案,为Magento商店的产品添加了全新的选项集.

我想要实现的是一种将简单产品添加到购物车的方法.这个简单产品有一些预定义的自定义选项(自由文本字段),必须由php函数填充.

那么,我该怎么做呢?假设我有一个ID为"111"的产品和一个自定义选项.

$qty = '1';
$product = Mage::getModel('catalog/product')->load("111");
// set option value in product model?

$cart = Mage::helper('checkout/cart')->getCart();
$cart->addProduct($product, $qty);
// set option value while passing product to car?

$cart->save();
Run Code Online (Sandbox Code Playgroud)

在此先感谢任何人.

BTW:通过查询字符串设置选项的值,看到的是relativly容易在这里.

Nic*_*ick 15

您没有在产品型号上设置自定义选项,而是通过第二个参数传递给它$cart->addProduct($product, $params).

我们为一个项目设置,需要一个外部应用程序添加到Magento购物车,是使用$params以下格式的数组:

$params = array(
    'product' => 1, // This would be $product->getId()
    'qty' => 1,
    'options' => array(
        34 => "value",
        35 => "other value",
        53 => "some other value"
    )
);
Run Code Online (Sandbox Code Playgroud)

$params['options']包含自定义选项的信息.键是自定义选项ID,如果您使用Firebug或类似选项检查产品屏幕的自定义选项部分,则可以看到它们.

$params['product']可能是多余的,我前一段时间为Magento的早期版本编写了这个脚本.

此外,我很确定添加到购物车事件的标准添加将在您添加此方式时触发,因此您需要自行设置它们.可能有副作用.