Magento:制作自定义类别属性

时间:2015-08-31 13:18:41

标签: magento

我正在尝试为Magento中的类别添加一些自定义属性。

所以我已经创建了我的第一个模块,它将添加一个自定义属性,遵循以下教程:http://gauss-development.com/blog/tutorials/adding-custom-category-attributes-magento/

一切似乎都运行正常,模块似乎已安装(我可以在系统>高级>禁用模块输出中看到它)。

但我的自定义属性没有出现。完全没有。

我已经完成了过去4天的教程。一遍又一遍地。尽可能地密切关注,尽可能复制和粘贴。我看起来似乎与此相似的其他教程,我也尝试过它们。所有这些教程最终都得到相同的结果,没有错误,没有任何错误,模块似乎被加载,但没有出现我的新自定义属性的迹象。

我觉得我遗漏了这些教程中没有提及的内容,但我不知道是什么。

任何人都可以想到我可能做错的事吗?

如果您需要查看任何代码,请查看上面提到的教程。是否存在缺少教程的信息或说明?记住我没有其他创建模块的经验,所以我跟着这些信。如果他们假设我有一个基本的信息,这可能是我正在滑倒的地方,但目前我无法知道我错过了什么。

2 个答案:

答案 0 :(得分:2)

请检查数据是否出现在您的数据库中,您可以在数据库表 eav_attribute 的字段 attribute_code 中搜索您的属性名称(作为我的示例)下面的文件,它将是 cat_short_description 。如果它没有出现在数据库中那么你的模块设置就会出现一些错误。

我使用的代码(文件etc / config.xml):

<?xml version="1.0"?>
<config>
<modules>
    <Andreabiedermann_Categoryattributes>
        <version>0.0.1</version>
    </Andreabiedermann_Categoryattributes>
</modules>

<global>
    <resources>
        <Categoryattributes_setup>
            <setup>
                <module>Andreabiedermann_Categoryattributes</module>
                <class>Mage_Eav_Model_Entity_Setup</class>
            </setup>
            <connection>
                <use>default_setup</use>
            </connection>
        </Categoryattributes_setup>
    </resources>
</global>
</config>

和mysql4-install-0.0.1.php在sql / Categoryattributes_setup /

$this->startSetup();

$this->addAttribute('catalog_category', 'cat_short_description', array(
    'group'         => 'General Information',
    'input'         => 'textarea',
    'type'          => 'text',
    'label'         => 'Short Description',
    'backend'       => '',
    'visible'       => true,
    'required'      => false,
    'default'       => '',
    'visible_on_front' => true,
    'user_defined'  =>  true,
    'is_html_allowed_on_front' => true,
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
));

$this->endSetup();

请检查是否设置为“常规信息”,如果不是,它将不会显示在“类别”视图的“常规”选项卡中。

您可以检查的另一个错误是文件是否具有正确的名称。它应该有正确的版本号。

此外,如果过去出现错误并且您想要更正错误,则需要重新初始化模块的设置过程。为此,请删除 core_resource 表中的module-entry,从后端注销并重新登录。每次希望重新运行安装脚本时,都需要执行此操作。

答案 1 :(得分:0)

只需检查是否需要重新编制索引。转到System-&gt; Configuration-&gt; Catalog-&gt; Frontend并将 Flat Catalog Category 设为No,然后检查您的属性是否显示。如果是,则需要重新索引并清除缓存。