【问题标题】:Invalid backend model specified: catalog/product_attribute_backend_media while overriding Mage_Catalog_Model_Product_Attribute_Backend_Media指定的后端模型无效:覆盖 Mage_Catalog_Model_Product_Attribute_Backend_Media 时的目录/product_attribute_backend_media
【发布时间】:2014-06-20 13:52:43
【问题描述】:

感谢这篇文章 Add a checkbox to product image gallery (like "Disable/Exclude") 我能够在 magento 后端的产品媒体库中添加新的复选框。首先,我在 magento 核心中进行了这些更改,它们就像一个魅力 :) 然后我决定用我自己的模块覆盖它们,如下所示:

<?xml version="1.0"?>
<config>
<modules>
    <My_Gallery>
        <version>1.0.0</version>
    </My_Gallery>
</modules>
<global>
    <helpers>
        <my_gallery>
            <class>My_Gallery_Helper</class>
        </my_gallery>
    </helpers>
    <models>
        <my_gallery>
            <class>My_Gallery_Model</class>
        </my_gallery>
        <my_gallery_resource>
            <class>My_Gallery_Model_Resource</class>
        </my_gallery_resource>
        <catalog>
            <rewrite>
                <product_attribute_backend_media>My_Gallery_Model_Product_Attribute_Backend_Media</product_attribute_backend_media>
            </rewrite>
        </catalog>
        <catalog_resource>
            <rewrite>
                <product_attribute_backend_media>My_Gallery_Model_Resource_Product_Attribute_Backend_Media</product_attribute_backend_media>
            </rewrite>
        </catalog_resource>
    </models>
    <blocks>
        <my_gallery>
            <class>My_Gallery_Block</class>
        </my_gallery>
    </blocks>
    <resources>
        <my_gallery_setup>
            <setup>
                <module>My_Gallery</module>
                <class>My_Gallery_Model_Resource_Setup</class>
            </setup>
        </my_gallery_setup>
    </resources>
</global>

但在这样做之后,我收到了来自主题的错误:异常“Mage_Eav_Exception”,消息“指定的后端模型无效:目录/product_attribute_backend_media”

可能是什么问题?

问候,

【问题讨论】:

  • 你能展示你的模型文件吗?
  • 检查您的日志以查看是否有任何失败的包含发生。就我而言,我的 XML 没有正确定义模型,所以 magento 试图从 Mage/ 命名空间加载它: ERR (3): Warning: include(): Failed opening 'Mage/YOUR_NAMESPACE/YOUR_MODULE/Model/Entity/ Attribute/Backend/Customergroups.php' 包含在第 94 行的 my_document_root/lib/Varien/Autoload.php 中

标签: magento


【解决方案1】:

如果您能获得更多关于您将该代码放在何处以分别回答的信息,那就太好了。

这意味着它找不到模型。所以它可能来自于你的模块树不正确,你的 config.xml 不符合现实,你没有正确命名你的节点以及许多其他类似的原因。

其他问题可能是您在数据库中做了不正确的事情。

您的数据库中的 eav_attribute 表中是否还有一个名为 catalog/product_attribute_backend_media 的 backend_model 属性?

问候

【讨论】:

  • 嗨。我做了我发布的链接中的所有内容。我在核心文件夹中做了这个更改,它工作正常。然后,我通过在 config.xml 中覆盖它们来将此更改移动到我自己的模块中。更新后的完整 config.xml。
  • 你能发布你的模块文件夹的架构吗?我相信错误在里面。
  • 模型的名称必须与架构相似。这意味着您拥有文件夹库的文件夹必须命名为“我的”...如果您遵循 Magento 的命名建议,我相信您使用的名称类似于您的公司名称。
  • 命名空间“My”中有许多其他模块,这就是为什么您只能看到“Gallery”
  • 你能发布堆栈跟踪吗?
猜你喜欢
  • 2013-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 2020-10-07
  • 2013-10-03
  • 2014-08-03
相关资源
最近更新 更多