Eu estou criando uma livraria em Magento e estou tendo problemas para descobrir a melhor maneira de lidar com os autores de um livro (que seria o produto).
O que eu tenho atualmente é um atributo chamado"autores", que é multi-select e mil [test] valores. Ainda é gerenciável, mas fica um pouco lento ao editar um produto. Além disso, ao adicionar uma opção / valor ao próprio atributo do autor, uma lista enorme é renderizada no HTML, tornando-a uma solução ineficiente.
- Existe outra abordagem que devo seguir?
- É possível criar um objeto Autor (entidadetipo?) que está associado a um produto através de uma tabela de junção? Se sim, alguém pode me dar uma explicação sobre como isso é feito ou me indicar uma boa documentação?
- Se eu aceitasse a abordagem do objeto Autor, isso ainda poderia ser usado na navegação em camadas?
- Como eu mostraria a lista de todos os livros para um único autor?
Desde já, obrigado!
PS: Estou ciente de extensões como Navegação aprimorada, mas AFAIK adiciona algo como atributos aos próprios atributos, o que não é o que eu estou procurando.
Para os Googlers: o mesmo se aplica aos artistas de um site ou fabricantes de música.
Respostas:
2 para resposta № 1Se você criar um tipo de entidade de autor, você apenas aumentará seu trabalho tentando adicioná-lo à navegação em camadas, e não vejo uma razão pela qual seria mais rápido.
Sua abordagem parece o melhor ajuste para o problema,Dada a forma como o Magento está configurado. Como você exibirá 1.000 (que provavelmente empalidecem em comparação com a lista real) autores na navegação em camadas?
Dependendo dos requisitos, você poderia ir arota de desnormalizar o campo e aceitar texto para ele. Isso ainda permitiria exibi-lo, pesquisar com base nele, etc., mas eliminaria a necessidade de processar todos os artistas possíveis para manipular a lista. Você pode adicionar um pequeno código em torno de selecionar o artista adequado (basicamente adicionar um preenchimento automático AJAX ao campo back-end) para minimizar os erros de digitação também.
Alternativamente, você poderia escrever um utilitário simplespara adicionar um novo artista ao sistema sem alguma sobrecarga do Magento carregar a lista. Para ser honesto, parece que o atraso que isso tem o potencial de criar no frontend provavelmente supera o problema de backend.
Espero que ajude!
Obrigado, Joe