Как программно редактировать цены в корзине (или применять скидку при добавлении товаров)

Я настраиваю расширение POS в рамках подготовки к продаже на выездном мероприятии.

Раньше мы просто взимали продажи вручную и возвращались к добавлению заказов вручную постфактум. Это расширение POS позволит нам использовать наш действующий сайт для продажи товаров, а затем продажи будут правильно зарегистрированы (и существующие способы оплаты будут работать).

Теперь я пытаюсь применить специальные цены к товарам по мере их добавления в корзину. Код расширения делает это, чтобы добавить товары в корзину:

$product_model  = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId());
$session        = Mage::getSingleton('checkout/session');
$cart           = Mage::getSingleton('checkout/cart');
$product_model = Mage::getModel('catalog/product')
    ->setStoreId(Mage::app()->getStore()->getId())
    ->load($pr_id);

if(!$product_model)
    throw new Exception("Product id {$pr_id} not found");

$cart->addProduct($product_model, array('qty' => $qty));
$cart->save();
$session->setLastAddedProductId($last_pr_id);
$this->getPos()->getQuote()->collectTotals()->save();

Все, что я нашел о применении ценообразования, делается для $item, а не на уровне корзины. В другом коде я пробовал $product_model->setCustomPrice($price); и setPrice() и setOriginalPrice(), но они не работают. Я чувствую, что очень близок к решению.

Может ли кто-нибудь с опытом помочь мне разобраться с элементом или найти способ применить скидку в указанном выше сегменте кода?

Спасибо!


person Chris K    schedule 08.05.2012    source источник


Ответы (1)


Вам нужно будет подключиться к событию, взглянуть на ответ, который я предоставил здесь, и дайте мне знать, если у вас есть какие-либо вопросы или вы столкнетесь с проблемами:

Изменение цены в котировке во время добавление товара в корзину: magento

person Gershon Herczeg    schedule 08.05.2012
comment
Спасибо! Задал там уточняющий вопрос. - person Chris K; 09.05.2012