Я хотел бы иметь продукт, который в основном является калькулятором, который я буду строить в Javascript. Я хочу, чтобы процесс добавления в корзину, чтобы захватить сгенерированную цену со страницы и отправить ее в корзину - это насколько я добрался.Magento: динамическое изменение цены продукта на добавление в корзину
Я создал наблюдателя, чтобы подключиться к событию checkout_cart_product_add_after и обновить цену позиции котировки на основе значения поля в представленной форме, которая работает.
Проблема заключается в том, что если вы добавляете вторую или несколько версий товара по разным ценам, он обновляет все другие версии в корзине по одной и той же цене, поэтому вы никогда не сможете иметь кратность одного и того же элемента в корзине с разными ценами.
У кого-нибудь есть идеи? Вот код в моем наблюдателе:
public function modifyPrice(Varien_Event_Observer $observer) {
$customprice = $_POST["customprice"];
$item = $observer->getQuoteItem();
$item = ($item->getParentItem() ? $item->getParentItem() : $item);
if ($customprice > 0) {
$item->setCustomPrice($customprice);
$item->setOriginalCustomPrice($customprice);
$item->getProduct()->setIsSuperMode(true);
}
}
Я предлагаю программно добавлять различные дополнительные параметры к продукту, который вы добавляете в корзину. Затем Magento будет рассматривать их как разные позиции цитаты, а не добавлять их вместе. Затем вы можете использовать JS для удаления этих параметров из DOM тележки, чтобы они не были видны. – McNab
Это определенно идея, я дам ей завихрение и вернусь к вам. Спасибо – user2565123
Проверьте приведенную ниже ссылку, это может вам помочь. http://stackoverflow.com/questions/9721583/changing-the-price-in-quote-while-adding-product-to-cart-magento –