我得到的错误是: 指定的后端模型无效:catalog / product_attribute_backend_startdate_specialprice
这是magento的本地副本,但我不想在现场网站上重新创建整个内容。我可以采取哪些措施来解决这个问题?
答案 0 :(得分:11)
上述解决方案在我的情况下不起作用,因为我没有开发任何模块,因此在上述路径中找不到任何名为“specialprice”的文件。
我已经安装了一个模块,它将数据库中的“specialprice”后端路径更改为catalog/product_attribute_backend_startdate_specialprice
如果你遇到像我一样的问题,这是解决方案:
运行数据库查询以检查specialprice属性的值,即
SELECT * FROM `<database-name>`.`eav_attribute`
WHERE (
`attribute_id` LIKE '%special_price%'
OR `entity_type_id` LIKE '%special_price%'
OR `attribute_code` LIKE '%special_special_price%'
OR `attribute_model` LIKE '%special_price%'
OR `backend_model` LIKE '%special_price%'
OR `backend_type` LIKE '%special_price%'
OR `backend_table` LIKE '%special_price%'
OR `frontend_model` LIKE '%special_price%'
OR `frontend_input` LIKE '%special_price%'
OR `frontend_label` LIKE '%special_price%'
OR `frontend_class` LIKE '%special_price%'
OR `source_model` LIKE '%special_price%'
OR `is_required` LIKE '%special_price%'
OR `is_user_defined` LIKE '%special_price%'
OR `default_value` LIKE '%special_price%'
OR `is_unique` LIKE '%special_price%'
OR `note` LIKE '%special_price%'
);
注意:用您的magento DB替换<database-name>
。
您将在数据库中找到三行。导航到名为“Backend_model”的列,然后您将看到其中一个条目写为 p>
catalog/product_attribute_backend_startdate_specialprice
因此,请将上述条目更改为
catalog/product_attribute_backend_startdate
保存数据库,然后在magento前端/后端刷新页面(创建并保存新产品)。
我希望一切正常。祝你好运!
干杯, 函数naveed。
PS:感谢所有帮助他人学习的人。
答案 1 :(得分:6)
打开phpMyadmin
来自你的magento db
选择eav_attribute
表
其中backend_model
为:
&#39;目录/ product_attribute_backend_startdate_specialprice&#39;
在phpMyadmin的SQL选项卡中尝试:
SELECT * FROM `magentodbname`.`eav_attribute` WHERE `backend_model` = 'catalog/product_attribute_backend_startdate_specialprice'
将后端模型更改为:
&#39; EAV / entity_attribute_backend_datetime&#39;
答案 2 :(得分:4)
虽然其他答案提供了解决方法(将后端模型catalog/product_attribute_backend_startdate_specialprice
替换为catalog/product_attribute_backend_startdate
表中的eav_attribute
),但没有人解释,为什么会发生这种情况。
后端模型catalog/product_attribute_backend_startdate_specialprice
是在Magento 1.9中引入的,因此当您在已经更新为1.9的数据库上运行Magento 1.8或更早版本时会发生此错误。
可能您更新了Magento,然后将代码还原为以前的版本。不幸的是,此时数据库的更新脚本已经运行,并且没有回滚机制。
答案 3 :(得分:1)
defautl Magento中的后端模型是
catalog/product_attribute_backend_startdate
位于
应用\代码\核心\法师\目录\模型\产品\属性\后端\ Startdate.php 强>
如果您正在使用自定义模块,并且指定的后端模型是
catalog/product_attribute_backend_startdate_specialprice
然后你需要创建像这样的路径
<强> \目录\模型\产品\属性\后端\开始日期\ Specialprice.php 强>
根据需要更改本地/社区路径。
答案 4 :(得分:0)
运行以下查询:
UPDATE eav_attribute
SET backend_model = 'eav/entity_attribute_backend_datetime'
WHERE backend_model = 'catalog/product_attribute_backend_startdate_specialprice';