无法更新产品信息

问题描述 投票:0回答:1

prestashop 1.7 有着悠久的历史。很多版本的产品一切都很好,但现在出现了一些奇怪的问题。更新现有产品信息时,PS 响应“无法更新产品信息”,使“保存”按钮变灰。但是,它保存简单值字段(文本、数字)中的更改。如果创建或更新组合则不起作用。

PS 1.7.8.11 PHP 7.4 (但 1.7.8.10 和 PHP 7.3 也有同样的问题)

产品不使用附件(完全不,没有一个)。出现在两个商店,一个是从另一个克隆的,一开始还可以,可能是1.7.6版本?,但现在不再了)。

如果没有调试,它会显示 main.bundle.js 错误

VM532:2 Uncaught SyntaxError: Unexpected token '<', "
<!DOCTYPE "... is not valid JSON

调试给出了不同的问题:

CRITICAL
10:47:44
php Call to undefined method Product::updateCacheAttachment()
Hide context    Hide trace
[▼
  "exception" => FatalThrowableError {▶}
]
{▼
  /home/xxxxxxxxxxx/classes/Attachment.php:225 {▼
    › 
    › Product::updateCacheAttachment((int) $idProduct);
    › 
  }
  /home/xxxxxxxxxxx/classes/Attachment.php:271 {▶}
  /home/xxxxxxxxxxx/src/Adapter/Product/AdminProductWrapper.php:858 {▶}
  /home/xxxxxxxxxxx/src/PrestaShopBundle/Controller/Admin/ProductController.php:574 {▶}
  /home/xxxxxxxxxxx/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:151 {▶}
  /home/xxxxxxxxxxx/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68 {▶}
  /home/xxxxxxxxxxx/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:200 {▶}
  /home/xxxxxxxxxxx/admin/index.php:82 {▶}
}
CRITICAL
10:47:44
request Uncaught PHP Exception Symfony\Component\Debug\Exception\UndefinedMethodException: "Attempted to call an undefined method named "updateCacheAttachment" of class "Product"." at /home/xxxxxxxxxxx/classes/Attachment.php line 225
Hide context    Hide trace
[▼
  "exception" => UndefinedMethodException {▶}
]
{▼
  /home/xxxxxxxxxxx/classes/Attachment.php:225 {▼
    › 
    › Product::updateCacheAttachment((int) $idProduct);
    › 
  }
  /home/xxxxxxxxxxx/classes/Attachment.php:271 {▶}
  /home/xxxxxxxxxxx/src/Adapter/Product/AdminProductWrapper.php:858 {▶}
  /home/xxxxxxxxxxx/src/PrestaShopBundle/Controller/Admin/ProductController.php:574 {▶}
  /home/xxxxxxxxxxx/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:151 {▶}
  /home/xxxxxxxxxxx/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68 {▶}
  /home/xxxxxxxxxxx/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:200 {▶}
  /home/xxxxxxxxxxx/admin/index.php:82 {▶}
}
]

可能出了什么问题以及如何找到问题的根本原因?

所有缓存已清除禁用,所有浏览器缓存已清除 - 没有变化。用 PHP 7.3 测试没有变化。还修改了configuration.php中的所有键以检查cookie和令牌生成 - 错误没有改变,cookie和令牌生成正常。

prestashop product
1个回答
0
投票

Prestashop 论坛的 JBW 确实给出了寻找的正确路径。使用了旧版本的 Product.php 类文件。这有一些代码被注释掉,这是问题的根本原因。现在问题解决了。案件已结。

© www.soinside.com 2019 - 2024. All rights reserved.