Вопрос

Это немного разочаровывает, но некоторые из моих продуктов отображают групповую цену, а некоторые - нет.

У меня есть группа клиентов X, и для этой группы клиентов у меня есть разные цены, чем обычная цена. Проблема в том, что я настроил все цены на «групповую цену» во всех продуктах, но только некоторые из них отображают групповую цену на фронте. Кто -нибудь знает почему? Или подсказка, чтобы узнать, почему это может произойти?

Когда я пытаюсь увидеть цены, я доступ к веб -сайту с учетом клиента из группы X, так что это не проблема ... но я не знаю, в чем проблема.

Спасибо.

РЕДАКТИРОВАТЬ: Если обычная цена выше, чем «групповая цена» Magento отображает групповую цену, но если обычная цена ниже, чем «групповая цена», она не отображает групповую цену ... это очень странно, это не Это? Кто -нибудь знает почему?

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

Решение

Это на самом деле по дизайну.

Magento покажет минимальную цену, потому что розничная цена всегда должна быть выше, чем групповые цены (в противном случае, почему клиент не будет просто не входить в систему, а затем пытаться заказать).

Это очевидно в следующей функции:

    /**
 * Apply group price for product
 *
 * @param Mage_Catalog_Model_Product $product
 * @param float $finalPrice
 * @return float
 */
protected function _applyGroupPrice($product, $finalPrice)
{
    $groupPrice = $product->getGroupPrice();
    if (is_numeric($groupPrice)) {
        $finalPrice = min($finalPrice, $groupPrice);
    }
    return $finalPrice;
}

Источник: App/Code/Core/Mage/Catalog/Model/Product/Type/Price.php

Таким образом, проходя через вас сценарий выше, используя EE 1.13, я вошел в учетную запись клиента. Регулярная цена продукта составляла 150 долларов. Цена группы розничной торговли, которую я установил как 250 долларов, а цену оптовой группы я установил 125 долларов. Оптовая торговля показана 125 долларов, однако цена группы розничной торговли составила 150 долларов. Опять же, это как дизайн, это не ошибка, а функция.

Backend Prices Wholesale Pricing Retailer Pricing

Вы также можете попробовать логику, пытаясь добавить «специальную цену», которая выше, чем обычная цена. Специальная цена не покажет.

Решения для ваших потребностей.

  1. Убедитесь, что ваша обычная цена всегда выше, чем группы
  2. Возможно создать расширение, которое расширяет логику в приложении/код/core/mage/catalog/model/product/type/price.php (это может быть не единственный файл, который вам необходим для расширения, однако это файл с большинством ценовая логика).

Если вы в конечном итоге создаете свое собственное расширение, всегда не забудьте никогда не редактировать код основного.

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