magento产品属性的自定义“商店所有者的目录输入类型”

时间:2012-05-22 09:23:41

标签: magento input attributes magento-1.6 catalog

在magento中,您可以使用某些类型创建新属性(然后将其添加到产品继承的属性集中)。

默认选项(textfield / area,data,boolean)相当有限,我想添加自己的,完整的后端字段渲染器和自己的验证。这将创建一个youtube字段,该字段接受一系列仅转换为youtube id的网址。

但我真的很想解释如何添加自己的“商店所有者的目录输入类型”。我已经看到其他插件可以做到这一点,但是通过代码挖掘是乏味的,这肯定是其他人感兴趣的东西(问题在网络上被大量提问)。

我一直在寻找,但无济于事,我会继续寻找答案,直到找到它为止。

TL;博士

所以我的问题是:如何添加“商店所有者的目录输入类型”,可能还有一个参考如何为此字段类型添加自定义验证。这是正确的MVC风格,因此如果可能的话,不要编辑核心文件。

奖励点是精心设计的通用解释&代码示例,如果值得的话,我会根据答案的质量奖励赏金(因为适用于更多的受众)。

1 个答案:

答案 0 :(得分:2)

抱歉,我没时间写长答案。来自Wee模块的接下来的4名观察员将为您提供所需的指示:

<config>
    <global>
        <events>
            <catalog_entity_attribute_save_before>
                <observers>
                    <weee>
                        <type>model</type>
                        <class>weee/observer</class>
                        <method>assignBackendModelToAttribute</method>
                    </weee>
                </observers>
            </catalog_entity_attribute_save_before>
        </events>
    </global>
...

    <adminhtml>
        <events>
            <adminhtml_catalog_product_edit_prepare_form>
                <observers>
                    <weee>
                        <class>weee/observer</class>
                        <method>setWeeeRendererInForm</method>
                    </weee>
                </observers>
            </adminhtml_catalog_product_edit_prepare_form>
            <adminhtml_product_attribute_types>
                <observers>
                    <weee>
                        <type>model</type>
                        <class>weee/observer</class>
                        <method>addWeeeTaxAttributeType</method>
                    </weee>
                </observers>
            </adminhtml_product_attribute_types>
            <adminhtml_catalog_product_edit_element_types>
                <observers>
                    <weee>
                        <class>weee/observer</class>
                        <method>updateElementTypes</method>
                    </weee>
                </observers>
            </adminhtml_catalog_product_edit_element_types>
        </events>
    </adminhtml>
</config>