2015-03-02 83 views
0

我在checkout/cart/item/default.phtml中檢索數據。修改購物車中產品的自定義選項

$allProductOptions = $_item->getProduct()->getTypeInstance(true)>getOrderOptions($_item->getProduct()); 
    $productOptions = $allProductOptions['info_buyRequest']; 

而在$productOptions我有一個從產品頁面保存的自定義選項:$productOptions['my_option']。我如何更新該選項?

+0

嘗試'$ allProductOptions = $ _item-> getProduct()更新 - > getOptions() - getTypeInstance(真)>;'而不是'$ allProductOptions = $ _item-> getProduct() - > getTypeInstance(true)> getOrderOptions($ _ item-> getProduct());' – 2015-03-02 14:53:12

+0

但我需要能夠設置它們/更新它們。確實看起來更實際。 – 2015-03-02 15:04:26

回答

0

獲取產品的定製選項:

$allProductOptions = $_item->getProduct()->getTypeInstance(true)->getOptions(); 

更新的自定義選項(設置你的價值觀像下面):

$option = array(
    'title' => 'Test Option', 
    'type' => 'file', 
    'is_require' => 1, 
    'price' => 10, 
    'price_type' => 'fixed', 
    'sku' => 'testsku', 
    'file_extension' => 'png,jpg', 
    'image_size_x' => '100', 
    'image_size_y' => '200' 

);

$product = $_item->getProduct(); 

$product->getOptionInstance()->addOption($option); 

$product->setHasOptions(true); 

$product = $_item->getProduct(); 
$optionInstance = $product->getOptionInstance(); 
$optionInstance->addOption($option); 
$optionInstance->setProduct($product); 
$product->save(); 

您可以通過這些

相關問題