De alguma forma, vários dos meus produtos tiveram a opção "Usar valor padrão" desmarcada.
Minha loja possui 2 idiomas, inglês e francês. O francês usa o valor da Loja padrão. Agora, quando eu atualizo os produtos, ele não aparece no front-end, a menos que eu entre manualmente no produto na exibição da loja francesa e selecione "Usar valor padrão",
Não parece haver um atributo para uma ação em massa; já deparei com alguns scripts e consultas MySQL. No entanto, não está claro se essas soluções redefinem todas as visualizações da loja para usar o valor padrão.
O resultado desejado é definir "Usar valor padrão" em uma visualização específica da loja (francês) em todos os produtos.
Como redefinir um grande número de produtos (ou todos os produtos) para "Usar valor padrão" em uma exibição específica da loja?
fonte
$product->setData('visibility', false);
ele vai assinalar a caixa, mas também definir a visibilidade como "true", o que eu não queroSupondo que o ID da loja francesa seja 2, você deve executar as consultas mysql abaixo:
Isso basicamente exclui os valores de atributo para todos os atributos e produtos para os quais o ID da loja está definido como 2. Quando o Magento não consegue encontrar o valor do atributo para um produto no ID da loja específico, ele escolhe o valor padrão.
fonte
false
como eu fiz, a opção "usar valor padrão" será marcada. Embora sua solução possa funcionar, eu pessoalmente não gosto de usar consultas SQL diretas.Aderir um pouco tarde, mas eu realmente não gostei de nenhuma das respostas acima.
Aqui está minha tentativa, não totalmente testada, mas parece fazer o que eu preciso.
fonte
Você pode usar o evento core_block_abstract_to_html_before adminhtml para adicionar as caixas de seleção necessárias para cada atributo no formulário de atualização em massa do administrador.
Em seguida, você precisaria usar o evento catalog_product_attribute_update_before para excluir os valores das tabelas EAV para uma visualização de loja específica, apenas para os atributos que possuem a caixa de seleção que você injetou anteriormente com core_block_abstract_to_html_before definido como marcado.
Espero que ajude.
Este módulo faz exatamente isso: http://mageinn.com/product/adminextra/ Também é possível redefinir o atributo ' url_key ' com esse módulo.
fonte