Prestashop Endless Spinning产品保存按钮

时间:2016-01-11 16:48:17

标签: ajax caching cookies prestashop

我正在运行Prestashop 1.6.1.1。产品保存按钮大约需要45秒才能加载。我升级到1.6.1.3,他们现在根本没有加载。我尝试回滚并升级到1.6.1.4。我删除了Smarty Cache,删除了Chrome的历史记录,cookies等。我在多台计算机上尝试过。我直接用1.6.1.4替换了admin / theme和controller文件夹。

当我检查网络请求时,我看到少数选项卡未加载并获得500个错误,而一个选项卡包含404.在加载所有选项卡之前,产品保存按钮不会完全加载。在Firefox中,当我选择重新发送请求时,我得到了一个好的202。

我在工作和家里都经历过这种情况。我联系了Hostgator关于这个问题。他们测试并说保存按钮为他加载,不太确定我相信他。但如果它对他起作用,他说这听起来像是一个cookie /缓存问题。

我错过了什么?

3 个答案:

答案 0 :(得分:5)

这是Prestashop 1.6.x.x的一个非常常见的问题。

它的背景是什么?

Prestashop有一个复杂的产品编辑页面,其中包含多个选项卡,其中信息以异步方式加载(使用Ajax)。 " Save"和"保存&留"按钮一直旋转,直到所有标签成功加载。 如果您在其中一个标签数据中出现任何错误 - 它会长时间或永久地旋转。

有这些解决方案

  1. 尝试其他浏览器。确保它与您的浏览器无关 (Javascript与浏览器相关) - 尝试另一个。

  2. 修复您的Prestashop 。可能你的Prestashop有错误。它可以是破坏或过时的模块,数据库中的数据损坏或无效,修改后的核心Prestashop文件等。调试和修复它并不容易。

  3. 添加技巧* 小心!如果您确定没有其他选择,请执行此操作。通过添加此技巧,您可以在保存新产品时获得一些Javascript警告,但它不会产生数据丢失。

  4. *添加技巧

    您不会编辑核心Prestashop文件,而是使用替代。

    [yoursiteroot] - 是Prestashop网站的根文件夹。它可以是public_html/或其他。

    [youradmin] - 是Prestashop安装的管理员文件夹。它可以是一系列随机字符,如smbcl5blanwcxnfs/或其他任何字符。您可以在URL行中登录管理面板时看到它: http://www.yoursite.com/[youradmin]/index.php?...

    1. 使用FTP 复制所有.tpl文件

      来自[yoursiteroot]/[youradmin]/themes/default/template/controllers/products

      [yoursiteroot]/override/controllers/admin/templates/products

      如果此文件夹不存在 - 请使用其所有路径文件夹创建它。

      (可选)您可以将该文件夹中的同一index.php文件复制到您创建的所有新文件夹中。这只是出于安全原因。)

    2. 在所有这些新复制文件的底部找到相同的行:

      <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

    3. 请确保您的网站后台设置Advanced parameters > Performance > Disable all overrides设置为No

    4. Disable all overrides is set to "No"

      完成!

      我们希望Prestashop在未来解决这个尴尬的错误预防措施。

      如果你想删除这个技巧 - 只需删除所有这些添加的.tpl文件。

答案 1 :(得分:1)

这是一个JS代码问题。我在GitHub中为它创建了一个修复程序。希望它很快就会合并并集成在1.6.1.x中。

https://github.com/PrestaShop/PrestaShop/pull/5949

答案 2 :(得分:0)

这个问题应该在PS 1.6.1.9中修复,要在以前的版本中修复它,尝试在form.tpl文件的模板覆盖中注释掉那些行(/ adminXXXX / themes / default / template / controllers / products / helpers / form / form.tpl):

https://github.com/PrestaShop/PrestaShop/blob/5566c2d9d7e4ab88a201b2c5cf10e1cda2ff7150/admin-dev/themes/default/template/controllers/products/helpers/form/form.tpl#L252-L254

此修复在PS 1.6.1.1和1.6.1.5中适用于我

来自ps论坛的解决方案(https://www.prestashop.com/forums/topic/300347-cannot-edit-product-save-or-save-and-stay-not-work/page-2#entry2429099

希望这有帮助...