Скидка Magento на клиента в зависимости от количества

Мне нужно применить скидку к определенным товарам на основе таблицы скидок для каждого покупателя, но частично это связано с тем, что для каждого товара в таблице существуют количественные перерывы в цене для каждого покупателя.

К какому наблюдателю лучше всего подключиться, чтобы применить эту скидку, когда товар добавляется в корзину И если количество в корзине позже обновляется?


person Matthew    schedule 10.02.2017    source источник
comment
вы все еще ищете свой ответ?   -  person Dhiren Vasoya    schedule 13.02.2017


Ответы (2)


Чтобы установить свой код при добавлении товара в корзину, вы можете использовать этот наблюдатель

<events>
    <checkout_cart_save_before> 
       <observers>
         <checkout_cart_save_before_handler> 
            <type>model</type> 
            <class>Vendor_Extension_Model_Observer</class> 
            <method>AddToCartBefore</method>  
         </checkout_cart_save_before_handler>
       </observers>
    </checkout_cart_save_before>
</events>

Если какой-либо товар обновляется из корзины, вы можете использовать это событие.

<events>
  <checkout_cart_update_items_before>
    <observers>
      <checkout_cart_update_items_before_handler> 
        <class>Vendor_Extension_Model_Observer</class> 
        <method>UpdateCartBefore</method>  
      </checkout_cart_update_items_before_handler>
    </observers>
  </checkout_cart_update_items_before>
</events>
person Dhiren Vasoya    schedule 13.02.2017
comment
Я попробую сегодня. Спасибо - person Matthew; 14.02.2017
comment
Я уже этим пользовался. Один, который вы пытаетесь, просто введите запрос, если он у вас есть. - person Dhiren Vasoya; 14.02.2017

На самом деле я использовал ...

        <sales_quote_add_item>
            <observers>
                <fluidaccess>
                    <class>Magnesium_Access_Model_Observer_Product</class>
                    <method>setCartQtyProductDiscount</method>
                </fluidaccess>
            </observers>
        </sales_quote_add_item>

        <checkout_cart_update_items_before>
            <observers>
                <fluidaccess>
                    <class>Magnesium_Access_Model_Observer_Product</class>
                    <method>setCartQtyUpdateProductDiscount</method>
                </fluidaccess>
            </observers>
        </checkout_cart_update_items_before>

Я использовал sales_quote_add_item вместо checkout_cart_save_before, потому что я обновляю цены на лету, а cart_save_before просто не работает так, как я хотел.

person Matthew    schedule 14.02.2017