Alterando o conjunto de atributos para um produto simples

8

Basicamente o assunto.

Eu tenho um produto simples criado com um conjunto de atributos específico. Existe uma maneira de alterar o conjunto de atributos associado a este produto sem precisar criar um novo?

Karlson
fonte

Respostas:

9

A referência do conjunto de atributos é uma coluna na catalog_product_entitytabela. Mudar isso deve alterar o conjunto de atributos.
Então, se você quiser fazer isso por código:

$product->setAttributeSetId(12)->save();

Se você quiser fazer isso a partir de uma interface administrativa, tente esta extensão . Mesmo que seja compatível com o CE 1.6.1, usei-o com sucesso no EE 1.12 (que é equivalente ao CE 1.7).

Marius
fonte
2
Deixe-me acrescentar que não é uma boa ideia alterar o conjunto de atributos, se você não souber o que está fazendo. Restam dados no banco de dados que podem causar problemas.
Fabian Blechschmidt
11
@FabianBlechschmidt: Você está certo. Sinta-se livre para editar a resposta.
Marius
2
+1 para a extensão flagbit, seria a opção mais segura ...
Toon Van Dooren
2
@ Fabien: você deve elaborar a parte "se você não sabe o que está fazendo". Tanto quanto posso observar ao olhar para o banco de dados, o ID do conjunto de atributos está vinculado apenas à tabela do conjunto de atributos EAV. Depois de fazer o que Marius sugeriu, os únicos problemas que prevejo são valores órfãos nas tabelas EAV do catálogo, conforme explicado aqui, sob o "background técnico": magentocommerce.com/magento-connect/… . Pessoalmente, me incomodaria ter essas linhas extras abandonadas nas tabelas, de modo que isso poderia ser um "problema". :)
musicliftsme
11
Flagbit extensioninon apenas define o novo ID do conjunto de atributos como produto e o salva. Não faz nada de especial.
vsushkov 28/10/2015