カテゴリの表示設定をすべてのカテゴリに適用する方法は?


10

多くのカテゴリがあり、すべてのカテゴリに新しい設定を1つずつ適用するのではなく、すべてのカテゴリに新しい設定を一度に適用できるかどうか知りたいのですが?

ありがとう!

回答:


13

UIからこれを行う方法はありません。
私が通常行う方法は、データベースの値を更新することです。これは推奨される方法ではありませんが、機能します。すべてのカテゴリの属性を「1」
に更新するis_anchorとします。

SELECT * FROM eav_attribute where attribute_code = 'is_anchor'

上記のクエリはあなたにis_anchor属性を与えるはずです。結果のレコードで、属性IDが51であることがわかります(異なる場合があります)。そしてbackend_typeですint。これは、属性の値がテーブルにあることを意味しますcatalog_category_entity_int

UPDATE `catalog_category_entity_int` set value = 1 where attribute_id = 51 and parent_id <> 0;

このクエリは、「すべてのルートのルート」であるカテゴリを除くすべてのカテゴリに対して、属性is_anchor(id 51)の値1を設定しますparent = 0
クエリを実行した後、フラットカテゴリのインデックスを再作成しました。


パーフェクト!まさに私が探していたもの:D
Aamir Siddique

7
Magentoの新しいバージョンのSQLクエリを更新しました(たとえば、parent_id列がありませんでした)。UPDATE catalog_category_entity_intセット値= 1 where attribute_id =(SELECT attribute_id FROM eav_attributewhere attribute_code = 'is_anchor');
ジャステン、2014年

@Mariusが私の場合機能しないUPDATE catalog_category_int設定値= 1を試みます。ここで、attribute_id = 51およびparent_id <> 0; エラー:#1146-テーブル 'magento1.catalog_category_int'は存在しません
Dinesh

1
@Dineshこれは、magentoインスタンスに問題があることを意味します。
マリウス

@Mariusどのように検索&それを修正するには、任意のヘルプ
ディネッシュ

2

カテゴリでどの設定を変更するのかわかりませんが、このページのオプションのリストにある場合は、Magento REST APIを使用するのがおそらく最良のオプションです。


1

最初に、is_anchor属性の属性IDを特定します。

SELECT * FROM eav_attribute where attribute_code = 'is_anchor';

データベースで属性ID 51を取得します。次のクエリを実行します

UPDATE catalog_category_entity_int set value = 1 where attribute_id = 51;

51を独自の属性IDに置き換えます。そして、これらのインデックスを再構築するだけです

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.