Цена уровня при добавлении товара в корзину - где она рассчитывается?
При добавлении товара в корзину, где именно рассчитывается цена, указанная в предложении для каждого товара? (базовый, специальный, уровень...)
Моя проблема заключается в следующем:
- У меня есть простой продукт с ценой уровня (кол-во: 1 и выше, группа клиентов: специальные)
- когда я добавляю товар в корзину, вместо этого добавляется базовая цена (цена уровня игнорируется) (клиент находится в правильной группе клиентов)
НО - я использую 2 среды - разработка и постановка
- на моей машине разработчика все работает нормально - продукт добавлен с ценой уровня - все в порядке с котировкой (sales_flat_quote_item)
- на этапе (где у меня нет доступа к базе данных) используется базовая цена
Мне интересно, пропустил ли я какие-либо настройки, но не могу придумать ни одной.
Итак, мой вопрос: где код является лучшим местом для просмотра/проверки того, как рассчитывается указанная цена при добавлении новых кандидатов в цитата?
Использование CE 1.7.0.0
1 answers
РЕШЕНО
Хорошо, после некоторого копания в коде..
Похоже, что весь процесс выполняется позже при сохранении корзины на коллекционных итогах:
- $корзина->сохранить() (где $корзина=Маг::помощник ('оформить заказ/корзина')->Получить карту();)
- цитата - Итоговые данные()
- продукт - getFinalPrice()
Смотрите отладочную трассировку ниже:
[0] => Mage_Catalog_Model_Product_Type_Price::getTierPrice() : app\code\community\Mage\Catalog\Model\Product.php (653)
[1] => Mage_Catalog_Model_Product::getTierPrice() : app\code\core\Mage\Catalog\Model\Product\Type\Price.php (164)
[2] => Mage_Catalog_Model_Product_Type_Price::_applyTierPrice() : app\code\core\Mage\Catalog\Model\Product\Type\Price.php (61)
[3] => Mage_Catalog_Model_Product_Type_Price::getBasePrice() : app\code\core\Mage\Catalog\Model\Product\Type\Price.php (80)
[4] => Mage_Catalog_Model_Product_Type_Price::getFinalPrice() : app\code\community\Mage\Catalog\Model\Product.php (715)
[5] => Mage_Catalog_Model_Product::getFinalPrice() : app\code\core\Mage\Sales\Model\Quote\Address\Total\Subtotal.php (115)
[6] => Mage_Sales_Model_Quote_Address_Total_Subtotal::_initItem() : app\code\core\Mage\Sales\Model\Quote\Address\Total\Subtotal.php (48)
[7] => Mage_Sales_Model_Quote_Address_Total_Subtotal::collect() : app\code\core\Mage\Sales\Model\Quote\Address.php (957)
[8] => Mage_Sales_Model_Quote_Address::collectTotals() : app\code\core\Mage\Sales\Model\Quote.php (1263)
[9] => Mage_Sales_Model_Quote::collectTotals() : app\code\core\Mage\Checkout\Model\Cart.php (464)
[10] => Mage_Checkout_Model_Cart::save() :
Проблема с тем, что цена уровня не используется в другой среде, связана с неправильная группа клиентов при оформлении заказа (это совсем другая проблема - в основном, когда включена проверка НДС, группа может быть автоматически изменена при оформлении заказа)
Спасибо всем, если вы потратили на это какое-то время