Описать проблему ↗

Оплата и оформление

OpenCart: кнопка подтверждения заказа сломалась после обновления

После обновления OpenCart перестала работать кнопка подтверждения заказа. Разберём, как проверить совместимость расширений и сохранить исправление после пересборки.

Редакция «починимсайт» · Обновлено · 3 мин. чтения

Что происходит и с чего начать

Оформление OpenCart часто изменяют тема и дополнительные расширения. После обновления их доработки могут перестать соответствовать новой структуре страницы или кода. Поэтому сначала выясните, какая версия изменилась и что именно происходит по нажатию: нет реакции, ошибка или заказ уже создан без перехода дальше. Для проверки важно сохранить список модификаций. Ручная правка временного сгенерированного файла может дать видимый эффект, но исчезнуть после штатного обновления кеша и вернуть проблему в магазин.

Что можно проверить самостоятельно

  1. Запишите обновлённые версии OpenCart, темы и расширений оформления. Сохраните текст ошибки и время одной тестовой попытки, затем проверьте наличие заказа в панели магазина.
  2. Сравните обычный товар с проблемной корзиной и оформление гостем с тестовым аккаунтом. Укажите дополнительные поля и условия, при которых появляется отказ.
  3. Сообщите, использовались ли модификаторы и ручные правки. Не обновляйте их кеш вслепую до сохранения текущих изменений: важно понимать, что может быть перезаписано штатной пересборкой.

Как понять результаты проверки

Разработчик проверяет совместимость конкретных расширений и фактический результат их применения. Если один запрос создаёт заказ, но интерфейс не понимает ответ, это отличается от отказа валидации до сохранения. Поэтому повторные нажатия сначала сверяют с уже созданными записями. Постоянное исправление вносят в исходный модификатор, расширение или поддерживаемый шаблон. В отчёте должно быть понятно, где хранится изменение и переживает ли оно обычную очистку кеша, публикацию и обновление связанных файлов проекта.

Что проверяет разработчик

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

  1. Посмотрите, отправляется ли запрос и какой ответ получает браузер. HTML с предупреждением PHP вместо JSON может остановить интерфейс.
  2. Сверьте версии модуля оформления, оплаты и доставки с установленной версией OpenCart. Проверьте журнал ошибок и изменённые маршруты.
  3. На копии магазина сравните стандартный checkout и используемое расширение. Уточните состояние кеша модификаций после обновления.

На что обратить внимание

Старый модификатор может перестать попадать в нужный участок кода или примениться частично. Ручное исправление сгенерированного файла исчезнет при следующем обновлении кеша.

Как исправляют причину

Исправьте исходный модификатор или установите совместимую версию расширения. Перестройте необходимые кеши штатным способом и проверьте, что изменения не затёрли пользовательские доработки.

Как убедиться, что проблема решена

Пройдите гостевой заказ с доставкой и оплатой, затем проверьте авторизованного покупателя. Сверьте состав заказа и отсутствие повторного сохранения после второго клика.

После ремонта пройдите полный заказ и отрицательный сценарий с неверным полем. Затем выполните предусмотренную проектом пересборку модификаций и повторите проверку. Это показывает, что решение не временное. Убедитесь, что один клик создаёт одну покупку с полным составом, а гостевой и зарегистрированный покупатель получают понятный результат без потери корзины и заполненных данных формы.