Supee-9767 Сохранение, возвращающее 500 после исправления версии 2, примененного к 1.9.2.3 (присутствуют ключи формы)


После применения исправления версии 2 у меня возникла проблема с исправлением, когда кажется, что saveBilling() возвращает ошибку сервера 500 при оформлении заказа.

Это проверка на странице, и я использую PayPal plus, если это имеет значение.

Когда я смотрю на данные формы, там находится значение formkey. Таким образом, проблема с отсутствующим ключом формы, похоже, не связана с этим.

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

Мой в шаблоне НЕТ /оформления заказа/материалов, поэтому нет файлов для добавления часто упоминаемых ключей формы, которые я могу найти.

Ранее упомянутые решения, которые я пробовал:

  1. https://gist.github.com/schmengler/c42acc607901a887ef86b4daa7a0445b

-- В моем шаблоне нет /проверки/переопределения, поэтому исправлять нечего

  1. Исправление безопасности SUPEE-9767 - Возможные проблемы?

Проходил через эту тему дюжину раз, но безуспешно.

Любые мысли или предложения будут весьма признательны.

*** Обновление****

Я решил проблему следующим образом:

Вызов неопределенного метода mage_checkout_onepagecontroller::isformkeyvalidationoncheckoutenabled:Значение isformkeyvalidationoncheckout включено();

* Я нашел эту функцию в Action.php *

Любые мысли о том, почему происходит неопределенный вызов метода.

Author: Ericc, 2017-07-29

2 answers

Эта проблема может возникнуть из-за двух причин.

  1. Вы можете перезаписать \app\code\core\Mage\Checkout\controllers\OnepageController.php, этот метод отсутствует, isFormkeyValidationOnCheckoutEnabled();

  2. Компилятор может быть включен. очистите кэш и перекомпилируйте снова.

 1
Author: Rama Chandran M, 2017-07-31 02:59:23

Решение Следует

Спасибо всем вам за то, что указали мне правильное направление. Проблема в конечном итоге заключалась в том, что

App\code\core\Mage\Core\Controller\Front\Action.php

Был перезаписан в

App\code\community\Mage\Core\Controller\Front\Action.php

Этот старый код имел прецедент над исправленным Action.php который включает в себя новую функцию isformkeyvalidationoncheckoutenabled(); и еще кое-что.

В моем случае два решения, где это возможно.

Решение 1: После проверки старого Action.php было обнаружено, что этот файл не требуется, и простое удаление этого файла позволило новой версии Action.php чтобы взять верх.

Решение 2: Нужно было скопировать функцию isFormkeyValidationOnCheckoutEnabled() и все остальные изменения, внесенные в Action.php перейдем к старому Action.php чтобы сохранить какое-либо особое поведение, шаблон, включенный в первый место.

 0
Author: Ericc, 2017-07-31 23:24:10