2015-03-02 4 views
0

У меня есть этот код в checkout/cart/item/default.phtml для извлечения данных.Измените пользовательскую опцию продукта в корзине

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

И в $productOptions У меня есть пользовательский параметр, сохраненная страница: $productOptions['my_option']. Как я могу обновить эту опцию?

+0

Try '$ allProductOptions = $ _item-> getProduct() -> getTypeInstance (истина) -> getOptions(); 'вместо '$ allProductOptions = $ _item-> getProduct() -> getTypeInstance (true)> getOrderOptions ($ _ item-> getProduct());' –

+0

, но мне нужно уметь их устанавливать/обновлять. действительно, это выглядит более практичным. –

ответ

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(); 

Вы можете обновить этими

Смежные вопросы