方法(...)__ toString()不得引发异常,捕获错误:在null上调用成员函数getOptionArray()

时间:2018-08-08 06:31:31

标签: php magento2

进入后端Catalog-> Categories时收到错误消息:

  

致命错误:方法   Magento \ Ui \ TemplateEngine \ Xhtml \ Result :: __ toString()不得抛出   异常,被捕获错误:调用成员函数getOptionArray()   空入   /home/hubert09/domains/domadeco.com/public_html/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();

那条线会产生问题

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

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

1 个答案:

答案 0 :(得分:0)

如果已将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范围='商店';

警告:在运行此数据库之前,请务必备份您的数据库!

  

在core_config_data中删除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行

现在检查您的管理员是否出现致命错误,也解决了等等...等等...

  

(注意致命错误_Magento \ Ui \ TemplateEngine \ Xhtml \ Result :: __ toString()   依赖存储模块,因此请勿更改模块存储供应商   管理员方网格/列表目录,您看不到正确的数据)