Вам необходимо добавить новый коллекционер после окончания общей суммы (Mage_Sales_Model_Quote_Address_Total_Grand). Он должен изменить сумму, установленную великим общим коллекционером.
Я говорил о таком случае на конференции MageConf в Украине неделю назад. Видео и слайды пока недоступны, но вы можете download demo-module, что было описано на конференции. Существует пример полного коллектора, который вычисляет цену упаковки.
Вы можете изменить свой демонстрационный общий коллектор поэтому он будет вставлен в процесс сбора ПОСЛЕ ОБЩИЙ ИТОГ коллектора (см config.xml в модуле и т.д. каталог - удалить <before>subtotal</before>
узел затем использовать <after>grand_total</after>
вместо этого) и изменять собирать() метода просто установить общие итоги ваших предопределенных значения:
$address->setGrandTotal($someValue);
$address->setBaseGrandTotal($someBaseValue);
Или вы можете оставить этот модуль, как он есть, но установить отрицательные суммы в нем. Таким образом, суммарный суммарный сборник будет вычитать их и снизить общую общую стоимость по вашему желанию. Также в таком случае клиент сможет увидеть ваши отрицательные значения (дайте их в методе fetch()) и поймите, почему великие итоги были опущены.
Удачи :)
отличный пример – 2010-12-06 10:00:50