У меня есть следующие настройки наблюдателя:
<checkout_cart_save_before>
<observers>
<mymodule_cartupdate>
<type>singleton</type>
<class>MyModule_CartUpdate_Model_Observer</class>
<method>docustomthings</method>
</mymodule_cartupdate>
</observers>
</checkout_cart_save_before>
Метод наблюдателя:
$cart = $observer->getCart();
$cartQuote = $cart->getQuote();
$cartItems = $cartQuote->getAllVisibleItems();
foreach($cartItems as $cartItem) {
$product = $cartItem->getProduct()->getTypeInstance()->getOrderOptions($cartItem->getProduct());
// more logic here....
}
Проблема в том, что при получении параметров заказа корзина и администратор отображают сериализованное значение вместо ссылки на загрузку файла.
например.
a:10:{s:4:"type";s:10:"image/jpeg";s:5:"title";s:45:"5B0C5B2B-ABD3-4291-93D3-0F7C01583454 (1).jpeg";s:10:"quote_path";s:69:"/media/custom_options/quote/5/B/cdd7a1b34b3b72acc7e3b90d0acc818c.jpeg";s:10:"order_path";s:69:"/media/custom_options/order/5/B/cdd7a1b34b3b72acc7e3b90d0acc818c.jpeg";s:8:"fullpath";s:113:"/media/custom_options/quote/5/B/cdd7a1b34b3b72acc7e3b90d0acc818c.jpeg";s:4:"size";s:6:"852491";s:5:"width";i:505;s:6:"height";i:504;s:10:"secret_key";s:20:"cdd7a1b34b3b72acc7e3";s:3:"url";a:2:{s:5:"route";s:35:"sales/download/downloadCustomOption";s:6:"params";a:2:{s:2:"id";N;s:3:"key";s:20:"cdd7a1b34b3b72acc7e3";}}}
Вместо показа:
5B0C5B2B-ABD3-4291-93D3-0F7C01583454 (1).jpeg 505 x 504 px.
То, что я пытаюсь сделать, - это получить варианты, чтобы я мог проверить, был ли выбран определенный вариант комплектации, и затем манипулировать ценой. Код, стоящий за всем этим, работает, но по какой-то причине $product = $cartItem->getProduct()->getTypeInstance()->getOrderOptions($cartItem->getProduct());
вызывает эту проблему.
Любая помощь будет принята с благодарностью.