6

Magentoでは、特定のタイプで新しい属性を作成できます(これらは、製品が継承する属性セットに追加されます)。

デフォルトのオプション(textfield / area、data、boolean)はかなり制限されており、バックエンドフィールドレンダラーと独自の検証を備えた独自のオプションを追加したいと思います。これは、YouTubeIDのみに変換されるURLの範囲を受け入れるYouTubeフィールドを作成します。

しかし、私はあなた自身の「店主のためのカタログ入力タイプ」を追加する方法について本当に良い説明が欲しいです。他のプラグインがそれを行うのを見たことがありますが、コードを掘り下げるのは面倒であり、これは間違いなく他の人にも興味があることです(質問はWeb上でよく聞かれます)。

私はしばらく探していましたが、役に立たないので、それが見つかるまで答えを探し続けます。

tl; dr

だから私の質問は:「ストア所有者のカタログ入力タイプ」を追加する方法、おそらくこのフィールドタイプにカスタム検証を追加する方法を参照してください。これは適切な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 に答える