2013-01-11 40 views
1

我试图运行prestashop。我已经制作了自定义主题,并且在注册时遇到问题。当有人试图在结账时注册时,他收到一个错误:Prestashop ajax注册错误

TECHNICAL ERROR:无法加载表单。详细信息:错误抛出:[对象对象]文本状态:错误

我找不出在哪里寻找解决方案。或者,也许有人知道如何禁用Ajax注册?

问候。

+0

看看你用来提交表单的按钮的ID。所有的ajax函数都是从order-opc.js或order-address.js触发的。有了这个,你将能够看到错误来自哪里。没有更多信息,我们不能帮你 – romainberger

+0

我正在修改标准主题,提交按钮ID是“SubmitCreate”。但我找不到它的顺序 - opc.js也没有在order-address.js 任何其他的想法? – 23kulpamens

+0

你正在使用什么版本的Prestashop? – romainberger

回答

4

我找到了解决方案。大多数消息来源告诉我应该关闭主题中的移动功能。我这样做了,但没有帮助。所以我检查了它引用某个地址的表单,但是AJAX请求被引导到了主页。

所以我修改了文件中的AJAX请求,所以它指向与表单相同的位置。

大约在97行有/themes/default/authentication.tpl是行:

url: baseUri, 

我已经把它改为:

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

所以AJAX请求转到正确的地址下。之后,我不得不在/themes/default/mobile/authentication*.tpl下更改一些移动身份验证表单,因此它们包含一个输入电话号码的字段。一切解决了整个问题。

+0

这也适用于我,谢谢 – Stratboy

+1

另外,如果有一个错误,并且正在制作一个自定义主题,他应该检查authentication.tpl文件,以获取#center_column的JavaScript引用,并根据需要更改主题 – Stratboy

0

这对我的作品

In admin panel go to, Advanced paramaters>performance, scroll down to CCC (Combine, Compress and Cache), and choose Keep inline JavaScript in HTML as original.

0

这种错误的像

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

在一个页结帐(OPC)

用的钓钩blockuserinfo(或改变钩相关这个模块)从正确的地方。

0

另一个来源这个问题是可以blockcart/Ajax的cart.js

在它触发对domready中ajaxCart.refresh(),即使不需要某些情况下(实际上是:在每一个F * N”页) ,所以有时它会得到一个html(home)文档而不是ajax文档,从而产生我们所说的技术错误。

为了解决这个问题,我刚刚重写了blockcart/ajax-cart.js,并简单地在ajaxCart.refresh()出现错误的情况下注释了警报。 这不是一个优雅的解决方案,但是,老实说,因为这是由一些非常糟糕的js架构引起的(请阅读:某处的错误),并且由于我不认为这种警报对任何前端用户都有用,所以我也认为它不会。不会伤害到评论它。

Prestashop团队在编写javascript时从未特别聪明,所以我经常最终从头开始重写。但在这种情况下,我认为小覆盖它更好。