2013-05-30 2 views
1

У меня есть 2 модуля, установленные на моем австралийском магазине Magento, и оба они влияют на расчет котировок, когда товары добавляются в корзину. Кажется, что один из модулей конфликтует с другим, и мои попытки получить помощь у создателей модуля предоставили практически никакой поддержки.Magento Config.xml Global Sales Quote Totals Node

Модули являются следующие:

aheadWorks - Очки и награды Модуль

MageWorld - Бесплатный подарок Модуль

Когда оба эти модули активны, у меня есть ОБЩИЙ ИТОГ ошибки вычислений, в частности, налог не добавляется к Grand Total, как это должно быть. Австралийское законодательство гласит, что цена на продукцию должна включать налог (который является фиксированной ставкой 10% для всех товаров), а Grand Total также должен включать в себя уплаченный налог, кроме того, в счете-фактуре должна быть указана сумма, уплаченная по налогу клиент.

Теперь, когда я отключил MW-Free Gift Module, вычисление работает правильно, что заставляет меня думать, что ошибка может быть устранена путем изменения этого модуля. После просмотра и тестирования частей Config.xml, файлов в обоих модулях я обнаружил, что они оба содержат дополнения к global > sales > quote > totals узлов:

aheadWorks - Очки и выгоды модуля> и т.д. \ config.xml

<global> 
    … 
    <sales> 
     <quote> 
      <totals> 
       <points> 
        <class>points/total_quote_points</class> 
        <after>wee,discount,tax,tax_subtotal,grand_total</after> 
        <renderer>points/checkout_total</renderer> 
       </points> 
      </totals> 
     </quote> 
     ... 
    </sales> 
</global> 

MageWorld - модуль Свободный подарок> и т.д. \ config.xml

<global> 
    ... 
    <sales> 
     <quote> 
      <totals> 
       <freegift> 
        <class>freegift/quote_address_total_freegift</class> 
        <after>subtotal</after> 
        <before>tax_subtotal,shipping</before> 
       </freegift> 
      </totals> 
     </quote> 
    </sales> 
</global> 

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

Я предполагаю, что узлы <after> и <before> влияют на порядок выполнения этих вычислений, но я не могу понять, как это работает. Может ли кто-нибудь дать совет о том, как это работает, и некоторые предложения о том, как я могу отладить эту проблему, поскольку в настоящее время мои счета-фактуры не отображаются правильно.

+0

Питер, я также получаю эту проблему, но не получить, как решить эту проблему, я проверил свой ответ, но это не для меня ясно, так что вы можете, пожалуйста, объясните мне, как я могу решить эту проблему .... Пожалуйста, см. Мой вопрос здесь ... http: //stackoverflow.com/questions/26118357/conflicting-two-magent-extenstion –

ответ

1

Проблема, с которой я столкнулась, была связана с ошибкой, связанной с методом сортировки, реализованным в Magento при заказе итоговых вычислений. Более подробное объяснение и решение можно найти в следующем потоке переполнения стека.

Sort algorithm: Magento checkout totals sorted wrongly causing wrong shipping tax calculation

+0

Мне все еще интересно, как работает шаблон XML, могу ли я определить свои собственные упорядоченные вычисления? – Vicary

Смежные вопросы