6

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

默认选项(文本字段/区域、数据、布尔值)相当有限,我想添加我自己的,包括后端字段渲染器和它自己的验证。这将创建一个 youtube 字段,该字段接受一系列 url,这些 url 仅转换为 youtube id。

但我真的很想很好地解释如何添加您自己的“商店所有者的目录输入类型”。我见过其他插件这样做,但是挖掘代码很乏味,这绝对是其他人感兴趣的事情(问题在网络上被问了很多)。

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

tl;博士

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

详细的、通用的解释和代码示例的奖励积分,如果值得的话,我将根据答案的质量奖励赏金(因为这适用于更多的受众)。

4

1 回答 1

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>
于 2012-09-27T22:35:45.387 回答