Eu tenho muitas categorias e, em vez de aplicar novas configurações a todas as categorias, uma por uma, gostaria de saber se é possível aplicar novas configurações a todas as categorias de uma só vez?
Obrigado!
Eu tenho muitas categorias e, em vez de aplicar novas configurações a todas as categorias, uma por uma, gostaria de saber se é possível aplicar novas configurações a todas as categorias de uma só vez?
Obrigado!
Respostas:
Não há como fazer isso a partir da interface do usuário.
A maneira como costumo fazer isso é atualizar os valores no banco de dados. Não é a abordagem recomendada, mas funciona.
Digamos que você queira atualizar o is_anchor
atributo para '1' para todas as categorias.
SELECT * FROM eav_attribute where attribute_code = 'is_anchor'
A consulta acima deve fornecer o is_anchor
atributo. No registro que resulta, vejo que o ID do atributo é 51 (pode ser diferente para você). e o backend_type
é int
. Isso significa que os valores para o atributo estão na tabela catalog_category_entity_int
.
UPDATE `catalog_category_entity_int` set value = 1 where attribute_id = 51 and parent_id <> 0;
Esta consulta definirá o valor 1 para o atributo is_anchor (id 51), para todas as categorias, exceto a 'raiz de todas as raízes', a categoria com parent = 0
.
Depois de executar a consulta, reindexo as categorias simples e é isso.
catalog_category_entity_int
definir valor = 1 em que attribute_id = (SELECT attribute_id FROM em eav_attribute
que attribute_code = 'is_anchor');
catalog_category_int
definir valor = 1 onde attribute_id = 51 e parent_id <> 0; mas erro: # 1146 - A tabela 'magento1.catalog_category_int' não existe
Não tenho certeza de quais configurações você está alterando em sua categoria, mas se estiver na lista de opções desta página , o uso da API REST Magento é provavelmente a melhor opção.
Primeiro, identifique o ID do atributo is_anchor:
SELECT * FROM eav_attribute where attribute_code = 'is_anchor';
nós obtemos o atributo 51 no meu banco de dados. Agora execute a seguinte consulta
UPDATE catalog_category_entity_int set value = 1 where attribute_id = 51;
substitua 51 pelo seu próprio ID de atributo. E apenas reconstrua esses índices