Supee-9767 Сохранение, возвращающее 500 после исправления версии 2, примененного к 1.9.2.3 (присутствуют ключи формы)
После применения исправления версии 2 у меня возникла проблема с исправлением, когда кажется, что saveBilling()
возвращает ошибку сервера 500 при оформлении заказа.
Это проверка на странице, и я использую PayPal plus, если это имеет значение.
Когда я смотрю на данные формы, там находится значение formkey. Таким образом, проблема с отсутствующим ключом формы, похоже, не связана с этим.
Я могу отключить требование к ключу формы на стороне администратора, и проблема остается.
Мой в шаблоне НЕТ /оформления заказа/материалов, поэтому нет файлов для добавления часто упоминаемых ключей формы, которые я могу найти.
Ранее упомянутые решения, которые я пробовал:
-- В моем шаблоне нет /проверки/переопределения, поэтому исправлять нечего
Проходил через эту тему дюжину раз, но безуспешно.
Любые мысли или предложения будут весьма признательны.
*** Обновление****
Я решил проблему следующим образом:
Вызов неопределенного метода mage_checkout_onepagecontroller::isformkeyvalidationoncheckoutenabled:Значение isformkeyvalidationoncheckout включено();
* Я нашел эту функцию в Action.php *
Любые мысли о том, почему происходит неопределенный вызов метода.
2 answers
Эта проблема может возникнуть из-за двух причин.
Вы можете перезаписать
\app\code\core\Mage\Checkout\controllers\OnepageController.php
, этот метод отсутствует, isFormkeyValidationOnCheckoutEnabled();Компилятор может быть включен. очистите кэш и перекомпилируйте снова.
Решение Следует
Спасибо всем вам за то, что указали мне правильное направление. Проблема в конечном итоге заключалась в том, что
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 чтобы сохранить какое-либо особое поведение, шаблон, включенный в первый место.