Каталог Правила цен, как заставить их применить к ценам уровня?

magento.stackexchange https://magento.stackexchange.com/questions/5575

Вопрос

Скажем, я получил продукты с разными ценами из -за приобретенного количества, является ли какой -либо способ составить правило цены каталога, которое, например, снимает 10% скидки на все уровни цен, а не только стоимость цен на продукт ??

Спасибо.

Это было полезно?

Решение

Нет, вы не можете сделать это с местным экземпляром Magento.
Для этого вам придется использовать правила цены на корзину, которые применяются к самой низкой цене, групповой цене, цене уровня и специальной цене.

Другие советы

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

Обычно это не возможно с Magento, так как правила цены каталога очень сильно взаимосвязаны в структуру события для изменения конечной цены, но этот расчет проводится до расчета многоуровневого цены. Таким образом, если окончательная цена меньше, чем уровня цена, цена уровня всегда будет дефолт.

Для этого вам нужно будет написать модуль и перезаписать Mage_Catalog_Model_Product_Type_Price и посмотри на

protected function _applyTierPrice($product, $qty, $finalPrice)
{
    if (is_null($qty)) {
        return $finalPrice;
    }

    $tierPrice  = $product->getTierPrice($qty);
    if (is_numeric($tierPrice)) {
        $finalPrice = min($finalPrice, $tierPrice);
    }
    return $finalPrice;
}

Вы можете выполнить свой собственный метод для отталкивания правила здесь. Пожалуйста, обратитесь к Mage_CatalogRule_Model_Rule Вы найдете метод, который вам нужно запустить.

Я намеренно не даю вам точного ответа, потому что как вы учитесь, не изучая глубины Magento.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top