ajax之Prestashop 无尽旋转产品保存按钮
我运行的是 Prestashop 1.6.1.1。产品保存按钮大约需要 45 秒才能加载。我升级到 1.6.1.3,它们现在根本无法加载。我尝试回滚并升级到 1.6.1.4。我删除了 Smarty 缓存、删除了 Chrome 的历史记录、cookie 等。我在工作中尝试了多台计算机。我直接用 1.6.1.4 替换了 admin/theme 和 controller 文件夹。
当我检查网络请求时,我看到一些选项卡未加载并出现 500 错误和 404 错误。在所有选项卡都加载之前,产品保存按钮不会完全加载。在 Firefox 中,当我选择重新发送请求时,我得到了一个正常的 202。
我在工作和家里都遇到过这种情况。我就此问题联系了 Hostgator。他们测试并说为他加载了保存按钮,不太确定我相信他。但是,如果它像他所说的那样对他有用,那听起来像是 cookie/缓存问题。
我错过了什么?
请您参考如下方法:
这是 Prestashop 1.6.x.x 的一个很常见的问题。
它的背景是什么?
Prestashop 有一个复杂的产品编辑页面,由多个选项卡组成,信息异步加载(使用 Ajax)。 “保存”和“保存并保留”按钮一直旋转,直到成功加载所有标签。 如果您在其中一个选项卡数据中出现任何错误 - 它会一直旋转很长时间或永远旋转。
有这些解决方案
试试其他浏览器。确保它与您的浏览器无关 (Javascript 是相对于浏览器而言的)- 换一个试试。
修复您的 Prestashop。可能您的 Prestashop 中有错误。它可能是模块损坏或过时、数据库中的数据损坏或无效、核心 Prestashop 文件被修改等。调试和修复它并不容易。
添加技巧*。 注意!如果您确定没有其他选择,请执行此操作。通过添加此技巧,您可以在保存新产品时收到一些 Javascript 警告,但不会导致数据丢失。
*添加技巧
您不会编辑核心 Prestashop 文件,但会使用覆盖。
[yoursiteroot]
- 是您的 Prestashop 站点的根文件夹。它可以是 public_html/
或其他。
[youradmin]
- 是 Prestashop 安装的管理文件夹。它可以是一系列随机字符,例如 smbcl5blanwcxnfs/
或其他任何字符。您可以在登录到 URL 行中的管理面板时看到它: http://www.yoursite.com/[youradmin]/index.php?...
。
使用 FTP 复制所有 .tpl 文件
来自
[yoursiteroot]/[youradmin]/themes/default/template/controllers/products
到
[yoursiteroot]/override/controllers/admin/templates/products
如果此文件夹不存在 - 使用其所有路径文件夹创建它。
(您可以选择将相同的
index.php
文件从该文件夹复制到您创建的所有新文件夹。这只是出于安全原因。)在所有这些新复制的文件的底部找到相同的行:
<button type="submit" name="submitAddproduct" class="btn btn-default pull-right" disabled="disabled"><i class="process-icon-loading"></i> {l s='Save'}</button> <button type="submit" name="submitAddproductAndStay" class="btn btn-default pull-right" disabled="disabled"><i class="process-icon-loading"></i> {l s='Save and stay'}</button>
和更改为:
<button type="submit" name="submitAddproduct" class="btn btn-default pull-right"><i class="process-icon-save"></i> {l s='Save'}</button> <button type="submit" name="submitAddproductAndStay" class="btn btn-default pull-right"><i class="process-icon-save"></i> {l s='Save and stay'}</button>
我们究竟对代码做了什么?
删除了
disabled="disabled"
。将
process-icon-loading
替换为process-icon-save
。请确保在您的站点后台设置中,
Advanced parameters > Performance > Disable all overrides
设置为No
。
Disable all overrides is set to "No"
完成!
我们希望 Prestashop 将来能解决这个尴尬的错误预防措施。
如果你想删除这个技巧 - 只需删除所有这些添加的 .tpl 文件。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。