Magento2.1.0显示错误在将产品保存到admin时未传递必需的参数'theme_dir'


Answers:


42

当您删除仍在数据库中引用的模板文件夹时,会出现此错误。修复此问题的最简单方法是转到数据库,然后在“主题”表中找到中不存在的主题名称app/design/frontend/package

DELETE 表格中缺少主题的引用。


这应该是公认的答案。
seanbreeden

完美..像个迷人的作品
Zorox

这应该是公认的答案。
大安范登伯格

我的数据库中有2条记录是多余的,我删除了BUt仍然不起作用
HaFiz Umer

10

我可以确认武安的答案有效。这是为什么保存产品时会发生这种情况的解释,尽管删除的主题无处使用:

保存产品后,将为所有主题重新生成图像缓存。每个主题可以有自己定义的图像尺寸格式,etc/view.xml所有这些都将生成。

但是,Magento不会在所有商店中查找已配置的主题,而是会遍历theme表中的所有主题。

如果您没有正确卸载主题而是仅删除了文件,那么孤立条目将引用不存在的路径,并抛出所描述的异常。


2

我有相同的错误必需的参数'theme_dir'未传递。我从一开始就使用2.1.0,而不是更新。我有一个自定义产品属性“样式”。

当我尝试将新照片保存在材料中时,会出现问题。没有图像,产品正常保存。

通过注释文件下的异常进行修复:

vendor/magento/framework/view/design/Fallbck/Rule/Simple.php  

它为我工作。但是我认为这是一个hack。


这绝对是一个hack。解决问题,而不是消除异常。
大安范登伯格

-2

最后,我通过注释掉的异常来修复它vendor/magento/framework/View/Design/Fallback/Rule/Simple.php

if (in_array($placeholder, $this->optionalParams)) {
    return [];
} else {
    return [];
    //throw new \InvalidArgumentException("Required parameter '{$placeholder}' was not passed");
}

4
但这无法解决错误,仅不再显示该错误。(我认为Vu Anh的解决方案更
适合

3
这不是解决此问题的正确方法!检查Vu Anh的答案。
麦地那

2
这不是最佳解决方案。请不要这样做
Ankit Shah
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.