Magento - добавить процент в верхней части расчетной цены - PullRequest
1 голос
/ 19 ноября 2010

не уверены, может ли кто-нибудь помочь с этим?

Нам нужно добавить процент к расчетной цене, а не к базовой.

, например

Базовая цена = £ 10

Выбор 1 Вариант 1 + £ 10 Вариант 2 + £ 20

Выбор 2 Вариант 1 + 10% Вариант 2 + 20%

Нам нужно рассчитать базовую цену + (вариант 1 из выбора 1), а затем на вершине этого промежуточного итога нам нужно добавить (вариант 1 из выбора 2) к этой цене промежуточного итога, а НЕ базовой цене.

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

1 Ответ

2 голосов
/ 19 ноября 2010

Грубо говоря, вы должны создать собственный тип продукта, чтобы вы могли предоставить этот пользовательский расчет, не меняя «простой» тип продукта, который все еще может использоваться для других продуктов в магазине.Реальная работа будет выполнена в его ценовой модели.

Определение нового типа легко:

<config>
    <global>
        <catalog>
            <product>
                <type>
                    <CUSTOM>
                        <label>CUSTOM PRODUCT TYPE</label>
                        <model>catalog/product_type_abstract</model>
                        <priceModel>YOURMODULE/product_type_CUSTOM<priceModel>
                    </CUSTOM>
                </type>
            </product>
        </catalog>
    </global>
</config>

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

Теперь ожидается класс YOURMODULE_Model_Product_Type_CUSTOM_Price, который должен идти от Mage_Catalog_Model_Product_Type_Price.Новый класс должен переопределить следующий метод:

protected function _applyOptionsPrice($product, $qty, $finalPrice)

Посмотрите, как работает родительский метод, а затем заставьте его работать так, как вы хотите.

Я полагаю, что вы, вероятно, просматриваете все варианты продукта и сохраняете две суммы, одну из фиксированных цен и одну из процентов.Добавьте фиксированное значение к базовой цене, затем умножьте на значение в процентах.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...