Itens de lista de desejos substituídos em add


7

Eu tenho perseguido um bug realmente estranho por alguns dias agora.

Ao adicionar itens a uma lista de desejos, o item adicionado mais recentemente é substituído pelo novo item. Isso acontece mesmo quando todos os módulos locais estão desativados.

O item adicionado mais recentemente é simplesmente removido da tabela do banco de dados e o novo é inserido. Às vezes, consigo colocar mais de um item na lista, mas é muito raro.

Outros tiveram problemas semelhantes ( /programming/28452259/unable-to-add-multiple-products-to-wishlist ), mas nosso problema não está relacionado a preços ou filtros de loja - os registros são simplesmente excluídos do banco de dados.

Observando o fluxo, parece que a Coleção de itens da lista de desejos é salva na função afterSave () de Wishlists, e o último item é excluído da coleção.

Não sei por que.

Alguma ideia?


mesmo aqui, você descobriu o problema?
Yehia A.Salam

Ugh, esqueci deste. Não. O cliente não queria continuar nos pagando para procurá-lo. Deixe-me saber se você descobrir alguma pista.
Natecornell 17/07

Respostas:


3

Estou procurando uma solução há dias, mas finalmente consegui uma (até duas soluções) e a escrevi aqui: https://magento.stackexchange.com/a/223786/67048

Eu tive o mesmo problema e a solução abaixo resolveu o problema.

Observe que a correção proposta por Chris Rogers funciona, mas não é uma solução otimizada.

Em app / code / core / Mage / Wishlist / Model / Wishlist.php encontre:

função pública getItemCollection () e change

$ this -> _ itemCollection = Mage :: getResourceModel ('wishlist / item_collection') -> addWishlistFilter ($ this) -> addStoreFilter ($ this-> getSharedStoreIds ($ currentWebsiteOnly)) -> setVisibilityFilter ();

para

$ this -> _ itemCollection = Mage :: getResourceModel ('wishlist / item_collection') -> addWishlistFilter ($ this) -> addStoreFilter ($ this-> getSharedStoreIds ($ currentWebsiteOnly));

Como se diz: esta é uma solução alternativa e não uma solução completa. O problema é que o filtro de visibilidade não parece funcionar corretamente - portanto, essa correção apenas remove o filtro. O seguinte deve ser considerado:

  1. Os itens adicionados à lista de desejos de qualquer loja serão exibidos independentemente da loja em que o cliente estiver.
  2. Se a visibilidade de um item estiver definida como não visível e o item já tiver sido adicionado à lista de desejos, ele ainda aparecerá "

(obtido em http://thesarfarazlaghari.com/magento-wishlist-shows-online-1-product/ )

Encontrei outra solução na web, que não requer código e, além disso, não precisa remover nenhuma funcionalidade do magento:

Basta selecionar os produtos da sua loja na página do catálogo, selecionar a ação 'Atualizar atributos' e clicar em enviar. Selecione o painel Sites e verifique seu site no bloco 'Adicionar produto a sites'. Reindexar seus dados, se necessário.

( https://stackoverflow.com/a/40244935 )

O último funcionou para mim também. Estou no Magento 1.9.3.8 por sinal.


1
Teve o mesmo problema, executar o reindexador completo sozinho o corrigiu para nós.
Emil Stewart
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.