首页 > 解决方案 > 方法 (...)__toString() 不得抛出异常,已捕获 Error: Call to a member function getOptionArray() on null

问题描述

进入后端目录-> 类别时收到错误消息:

致命错误:方法 Magento\Ui\TemplateEngine\Xhtml\Result::__toString() 不得抛出异常,已捕获错误:在 /home/hubert09/domains/domadeco.com/public_html 中调用 null 上的成员函数 getOptionArray() /vendor/magento/module-ui/Component/Wrapper/UiComponent.php 在第 0 行

我在将 Magento 从 2.2.0-rc 升级到 2.2.5 后发现它

感谢magento profiler,我发现问题出在:/vendor/magento/module-catalog/view/adminhtml/templates/catalog/category/edit/assign_products.phtml

$block->getGridHtml();

那条线会产生问题

=======已解决=========

由第 3 部分模块 Oneleek_DraggableProducts 引起的问题。在 2.2.5 上它不起作用。关闭该模块解决问题。

标签: phpmagento2

解决方案


如果您将 M1 迁移到 M2,那么您在 cmd 执行期间遇到以下错误未找到请求的存储。验证商店并重试。

不要更改供应商

模块存储文件:

/vendor/magento/module-store/Model/StoreManager.php 或

/vendor/magento/module-store/Model/StoreRepository.php

只需简单地应用以下步骤:

我最近从 Magento 1.9.3.8 迁移到 2.3.0 后遇到了同样的情况,希望我的回答能有所帮助。问题来自于删除多个商店,确切地说是其中的 96 个。我在这里尝试了所有其他答案,但仍然遇到同样的错误。

对我来说,解决方法是从“core_config_data”中删除旧的存储数据。问题是,当 Magento 加载运行时配置数据时,它会查找旧存储并尝试解决它们。在从数据库中清理数据之前,我强烈建议您运行下面的 SELECT 查询以确保删除正确的存储。

SELECT * FROM core_config_data WHERE scope = 'stores';

警告:确保在运行之前备份您的数据库!

删除 core_config_data WHERE scope_id != 1 AND scope = 'stores';

现在执行所有magento命令,您可以看到查询修复的“未找到请求的商店。验证商店并重试”

致命错误:方法 Magento\Ui\TemplateEngine\Xhtml\Result::__toString() 不能在 C:\wamp64\www\mage2\vendor\magento\module-ui\Component\Wrapper\UiComponent.php 中抛出异常在线0

现在检查你的管理员上面的致命错误也解决了 blahhh ... blahh ...

(注意致命错误_Magento\Ui\TemplateEngine\Xhtml\Result::__toString() 依赖存储模块,所以不要更改模块存储供应商,否则管理端网格/列表目录您看不到正确的数据)


推荐阅读