Ошибка регистрации Prestashop ajax

Я пытаюсь запустить prestashop. Я уже сделал собственную тему, и у меня проблема с регистрацией. Когда кто-то пытается зарегистрироваться во время оформления заказа, он получает сообщение об ошибке:

ТЕХНИЧЕСКАЯ ОШИБКА: невозможно загрузить форму. Подробности: Возникла ошибка: [объект Объект] Статус текста: ошибка

Не могу понять где искать решение. Или может кто знает как отключить ajax регистрацию?

С уважением.


person 23kulpamens    schedule 11.01.2013    source источник
comment
Посмотрите на идентификатор кнопки, которую вы используете для отправки формы. Все функции ajax запускаются из order-opc.js или order-address.js. Благодаря этому вы сможете увидеть, откуда исходит ошибка. Без дополнительной информации мы не сможем вам помочь   -  person romainberger    schedule 12.01.2013
comment
Я изменяю стандартную тему, и идентификатор кнопки отправки — SubmitCreate. Но я не могу найти ссылку на него ни в order-opc.js, ни в order-address.js Любые другие идеи?   -  person 23kulpamens    schedule 14.01.2013
comment
Какую версию Prestashop вы используете?   -  person romainberger    schedule 14.01.2013
comment
Я использую версию 1.5.2, и я нашел решение. Спасибо за вашу помощь.   -  person 23kulpamens    schedule 17.01.2013


Ответы (4)


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

Поэтому я изменил запрос AJAX в файле, чтобы он направлялся в то же место, что и форма.

В /themes/default/authentication.tpl около строки 97 была строка:

url: baseUri,

Я изменил его на:

url: baseUri + 'index.php?controller=authentication',

поэтому запрос AJAX идет по правильному адресу. После этого мне пришлось изменить некоторые формы мобильной аутентификации в /themes/default/mobile/authentication*.tpl , чтобы они содержали поле для ввода номера телефона. Все, что решило всю проблему.

person 23kulpamens    schedule 17.01.2013
comment
Кроме того, если у кого-то есть эта ошибка И создается пользовательская тема, он должен проверить файл authentication.tpl на наличие ссылок javascript на #center_column и при необходимости изменить тему соответствующим образом. - person Luca Reghellin; 21.08.2013

Это работает для меня

В панели администратора перейдите в «Дополнительные параметры»> «Производительность», прокрутите вниз до CCC (Объединение, сжатие и кэширование) и выберите «Сохранить встроенный JavaScript в HTML как исходный».

person majito    schedule 20.07.2015

Такие ошибки, как

TECHNICAL ERROR: unable to load form. Details: Error thrown: [object Object] Text status: error 

при оформлении заказа на одной странице (OPC)

связаны с отключением blockuserinfo (или изменением хука этого модуля) из нужного места.

person PipBoy2000    schedule 21.07.2015

Другим источником этой проблемы может быть blockcart/ajax-cart.js.

В некоторых ситуациях он запускает ajaxCart.refresh() на domready, даже если он не нужен (фактически: на каждой f * n 'странице), поэтому иногда он возвращает html (домашний) документ вместо ajax, таким образом генерируя техническая ошибка, о которой мы говорим.

Чтобы решить эту проблему, я просто переопределил blockcart/ajax-cart.js и просто закомментировал предупреждение в случае ошибки в ajaxCart.refresh(). Это не элегантное решение, но, честно говоря, поскольку это вызвано какой-то действительно плохой архитектурой js (читай: где-то ошибкой), и поскольку я не думаю, что предупреждение полезно для любого пользователя интерфейса, я также думаю, что это не так. больно это комментировать.

Команда Prestashop никогда не была особенно умна в написании javascript, поэтому мне часто приходилось переписывать код с нуля. Но в данном случае я думаю, что маленькое переопределение лучше.

person Luca Reghellin    schedule 24.06.2016