デフォルトの属性セットIDを検出します
-
16-10-2019 - |
質問
デフォルトのMagentoインストールには、「デフォルト」属性が設定されています。 Admin GUIを使用してその属性セットを削除する能力はありません(このセットの削除ボタンは隠されています)。 eav_attribute_setでこのセットのシステムフラグやその他の特異点のようなものを見つけませんでした。この属性セットのIDをさまざまなインストールでプログラムで検出する機能が必要です。たぶん誰かがこのようなタスクに直面し、私に手がかりを与えることができました。ありがとう
解決
これにより、必要なものが得られるはずです。
Mage::getModel('catalog/product')->getDefaultAttributeSetId();
追加情報:デフォルトの属性セットIDはテーブルに保存されます eav_entity_type
エンティティごとに。販売関連のエンティティは、現在フラットテーブルに保存されているため、このセットを0にしています。しかし、CE-1.4.0.1の前には、彼らもEAVであり、属性セットを持っていました。
他のヒント
より良い答えはこれです:
Mage::getModel('my_module/my_entity')->getResource()->getEntityType()->getDefaultAttributeSetId();
マリウスの答えも優れていますが、製品でのみ機能し、作成したカスタムEAVモデルでは機能しません。
私の答えは、カスタムのものを含むすべてのEAVタイプで機能します。
所属していません magento.stackexchange