Bagaimana cara menerapkan pengaturan tampilan kategori ke semua kategori?

10

Saya memiliki banyak kategori dan alih-alih menerapkan pengaturan baru ke semua kategori satu per satu, saya ingin tahu apakah ini mungkin untuk menerapkan pengaturan baru ke semua kategori sekaligus?

Terima kasih!

Aamir Siddique
sumber

Jawaban:

13

Tidak ada cara untuk melakukan ini dari UI.
Cara saya biasanya melakukannya, adalah memperbarui nilai-nilai dalam database. Ini bukan pendekatan yang direkomendasikan tetapi berhasil.
Katakanlah Anda ingin memperbarui is_anchoratribut ke '1' untuk semua kategori.

SELECT * FROM eav_attribute where attribute_code = 'is_anchor'

Kueri di atas akan memberi Anda is_anchoratribut. Saya mencatat bahwa hasil saya melihat bahwa id atribut adalah 51 (bisa berbeda untuk Anda). dan backend_typeitu int. Ini berarti bahwa nilai untuk atribut ada di dalam tabel catalog_category_entity_int.

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

Kueri ini akan menetapkan nilai 1 untuk atribut is_anchor (id 51), untuk semua kategori kecuali 'root of all root', kategori dengan parent = 0.
Setelah saya menjalankan kueri, saya mengindeks ulang kategori datar dan hanya itu.

Marius
sumber
sempurna! persis apa yang saya cari: D
Aamir Siddique
7
Permintaan SQL yang diperbarui untuk versi Magento yang lebih baru (misalnya, saya tidak memiliki kolom parent_id). UPDATE catalog_category_entity_intnilai set = 1 di mana attribute_id = (SELECT attribute_id FROM eav_attributemana attribute_code = 'is_anchor');
Jasuten
@Marius tidak berfungsi dalam kasus saya, saya mencoba UPDATE catalog_category_intnilai set = 1 di mana atribut_id = 51 dan parent_id <> 0; tetapi kesalahan: # 1146 - Tabel 'magento1.catalog_category_int' tidak ada
Dinesh
1
@Dinesh Ini berarti ada yang salah dengan instance magento Anda.
Marius
@Marius bagaimana menemukan & memperbaikinya, bantuan apa pun
Dinesh
2

Saya tidak yakin pengaturan mana yang Anda ubah dalam kategori Anda, tetapi jika itu ada pada daftar opsi pada halaman ini , maka menggunakan Magento REST API mungkin merupakan pilihan terbaik Anda.

Talesh
sumber
1

Pertama-tama identifikasikan id atribut dari atribut is_anchor:

SELECT * FROM eav_attribute where attribute_code = 'is_anchor';

kami mendapatkan atribut id 51 di database saya. Sekarang jalankan query berikut

UPDATE catalog_category_entity_int set value = 1 where attribute_id = 51;

ganti 51 dengan id atribut Anda sendiri. Dan baru saja membangun kembali indeks ini

Pratik Kamani
sumber