質問

スーパー属性として使用される属性の「ストアビュー」から「グローバル」にスコープを変更しようとすると、このエラーメッセージが表示されます。

「属性は構成可能な製品で使用されるため、スコープを変更してはなりません。」

私はおそらく正当な理由があることを知っています、誰かが私にこの背後にある論理を説明できますか?

役に立ちましたか?

解決

ストアビュースコープとは、デフォルトスコープ(グローバル)の値とストアビューの異なる値を持つことができることを意味します。

次の状況があります。

Store view: Global Scope Value, Store View Value:

store view 1: A,B

store view 2: A,C

スコープをストアビューからグローバルに変更し、既に値セットを備えた製品を持っている場合、Magentoは値をどうするかを知りません。どのような価値を保持する必要がありますか? A(グローバルなもの)、B(ストアビュー1)。それがあなたがメッセージを受け取る理由です。

チェックはmage_catalog_model_resource_eav_attribute :: _ beforesave()にあります:

[...]
     if (($this->_data['is_global'] != $this->_origData['is_global'])
                && $this->_getResource()->isUsedBySuperProducts($this)) {
                Mage::throwException(Mage::helper('catalog')->__('Scope must not be changed, because the attribute is used in configurable products.'));
            }
[...]

次のオプションがあります。

  • まだその属性を使用していない場合は、削除してもう一度作成するだけです
  • 使用している場合は、新しいものを作成し、インポート/エクスポートを使用して値を更新します
ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top