Як застосувати налаштування відображення категорії до всіх категорій?


10

У мене багато категорій, і замість того, щоб застосовувати нові параметри до всіх категорій одна за одною, я хотів би знати, чи можливо застосувати нові параметри до всіх категорій одночасно?

Дякую!

Відповіді:


13

Це неможливо зробити з інтерфейсу користувача.
Я зазвичай це роблю, - це оновлювати значення в базі даних. Це не рекомендований підхід, але він працює.
Скажімо, ви хочете оновити is_anchorатрибут на "1" для всіх категорій.

SELECT * FROM eav_attribute where attribute_code = 'is_anchor'

Наведений вище запит повинен дати вам is_anchorатрибут. Я з запису результатів бачу, що ідентифікатор атрибута 51 (може бути різним для вас). і backend_typeє int. Це означає, що значення для атрибута знаходяться в таблиці catalog_category_entity_int.

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

Цей запит встановить значення 1 для атрибута is_anchor (id 51) для всіх категорій, крім 'корінь усіх коренів', категорію з parent = 0.
Після запуску запиту я перевстановлюю плоскі категорії і все.


perfecto! саме те, що я шукав: D
Аамір Сіддік

7
Оновлений запит SQL для новіших версій Magento (наприклад, у мене не було стовпця parent_id). UPDATE catalog_category_entity_intвстановлене значення = 1 де attribute_id = (SELECT attribute_id FROM eav_attributewhere attribute_code = 'is_anchor');
Ясутен

@Marius не працює, у моєму випадку я намагаюся UPDATE catalog_category_intвстановити значення = 1, де attribute_id = 51 та parent_id <> 0; але помилка: # 1146 - Таблиця 'magento1.catalog_category_int' не існує
Dinesh

1
@Dinesh це означає, що з вашим екземпляром magento щось не так.
Маріус

@Marius як знайти і виправити його, будь-яка допомога
Дінеш

2

Я не впевнений, які параметри ви змінюєте у своїй категорії, але якщо вони є у списку параметрів на цій сторінці , то використання API Magento REST - це, мабуть, найкращий варіант.


1

Спочатку визначте ідентифікатор атрибута is_anchor:

SELECT * FROM eav_attribute where attribute_code = 'is_anchor';

ми отримуємо атрибут id 51 в моїй базі даних. Тепер запустіть наступний запит

UPDATE catalog_category_entity_int set value = 1 where attribute_id = 51;

замініть 51 на свій власний ідентифікатор атрибута. І просто відбудуйте ці індекси

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.