Magento 1.9 - Настройки Paypal Express Checkout не работают

Я пытаюсь настроить функциональность Magento Paypal Express Checkout для передачи общей суммы заказа с использованием валюты текущего магазина, а не базовой валюты в Paypal. Однако мои настройки не отображаются на сайте.

Вот что я создал:

app/code/local/My/Paypal/Model/Express/Checkout.php

<?php

class My_Paypal_Model_Express_Checkout extends Mage_Paypal_Model_Express_Checkout {

    public function getCheckoutShortcutImageUrl() {
        //Copy pasted the original code with some modifications to use
        // _quote->getGrandTotal()
    }

    public function start($returnUrl, $cancelUrl, $button = null) {
        //Copy pasted original code with modifications to use
        //_quote->getGrandTotal() and _quote->getStoreCurrencyCode()
    }

}

?>

app/code/local/My/Paypal/etc/config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <My_Paypal>
      <version>0.1.0</version>
    </My_Paypal>
  </modules>
  <global>
    <models>
      <paypal>
        <rewrite>
          <express_checkout>My_Paypal_Model_Express_Checkout</express_checkout>
        </rewrite>
      </paypal>
    </models>
  <global>
</config>

app/etc/modules/My_Paypal.xml

<?xml version="1.0"?>
<config>
  <modules>
    <My_Paypal>
      <active>true</active>
      <codePool>local</codePool>
      <version>0.1.0</version>
    </My_Paypal>
  </modules>
</config>

Я вижу, что мой модуль правильно отображается под System -> Configuration -> Advanced -> Advanced -> Disable Modules Output как Enable, а Mage_Poll и Mage_Tag отображаются как Disable.

Прямое изменение Mage_Paypal_Model_Express_Checkout работает, поэтому я знаю, что мои изменения кода работают, но правильный способ настройки модели, похоже, не работает.

Я обновляю и очищаю кеш Magento с каждым изменением, так что это не просто проблема кеширования.

Я предполагаю, что что-то не так с моим config.xml, но на данный момент я не могу понять, что именно.

Любые идеи? В качестве альтернативы, также сработает лучший способ достичь того, что я хочу делать.

Кроме того, как мне отладить Magento, чтобы понять, в чем могут быть ошибки в моей настройке? Есть ли журналы, которые я могу включить или посмотреть?


person Rajesh J Advani    schedule 26.10.2017    source источник


Ответы (1)


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

попробуйте добавить зависимость к модулю PayPal и проверьте, не была ли эта модель переписана где-то еще.

<config>
  <modules>
    <My_Paypal>
      <active>true</active>
      <codePool>local</codePool>
      <depends>
          <Mage_Paypal />
      </depends>
    </My_Paypal>
  </modules>
</config>
person Vladimir Samsonov    schedule 26.10.2017
comment
Спасибо. Я пробовал это сделать, но, похоже, это не имеет значения. Как мне отладить происходящее? - person Rajesh J Advani; 26.10.2017