Como aplicar a configuração de exibição de uma categoria a todas as categorias?

10

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!

Aamir Siddique
fonte

Respostas:

13

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_anchoratributo para '1' para todas as categorias.

SELECT * FROM eav_attribute where attribute_code = 'is_anchor'

A consulta acima deve fornecer o is_anchoratributo. 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.

Marius
fonte
perfecto! exatamente o que eu estava procurando: D
Aamir Siddique
7
Consulta SQL atualizada para versões mais recentes do Magento (eu não tinha a coluna parent_id, por exemplo). UPDATE catalog_category_entity_intdefinir valor = 1 em que attribute_id = (SELECT attribute_id FROM em eav_attributeque attribute_code = 'is_anchor');
Jasuten 13/06/14
@ Marius não funciona no meu caso, eu tento UPDATE catalog_category_intdefinir valor = 1 onde attribute_id = 51 e parent_id <> 0; mas erro: # 1146 - A tabela 'magento1.catalog_category_int' não existe
Dinesh
1
@ Dinesh isso significa que há algo errado com sua instância do magento.
Marius
@Marius como encontrar e corrigi-lo, qualquer ajuda
Dinesh
2

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.

Talesh
fonte
1

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

Pratik Kamani
fonte