Pim-community-dev: [Question] Calculadora de integridade

Criado em 18 abr. 2016  ·  5Comentários  ·  Fonte: akeneo/pim-community-dev

Estou fazendo uma pergunta

Usamos a versão PIM 1.4 em nossa integração e planejamos atualizar para 1.5 depois de alguns meses.

História
Temos uma entidade de produto personalizada que adiciona uma nova relação ao produto. É uma relação unidirecional ManyToMany por meio da tabela de junção.

Pergunta
Qual é a melhor maneira de atualizar / sobrescrever a calculadora de integridade para poder adicionar dados adicionais do produto em seus cálculos. Pode haver algo como um arquivo de configuração. Pode haver outra maneira melhor de fazer isso.

Obrigado!

question

Todos 5 comentários

Olá @ a2xchip ,

Infelizmente, no momento, você deve substituir o CompletenessGenerator . É triste porque é um dos últimos lugares no PIM onde os tipos de atributos personalizados não são manipulados facilmente por meio de um registro. Sabemos que precisamos reescrever esta parte, ela está em nossa lista de tarefas, mas ainda não posso fornecer um ETA.

Esta parte é bastante sensível e complexa. Qual é a natureza dos dados sobre os quais você deseja calcular a integridade?

Se estiver vinculado a um ProductValue, sugiro que você faça exatamente o mesmo que fizemos para os preços. Dê uma olhada no método prepareCompletePrices . Isso pode ser um bom começo do que você precisa alcançar. Você também precisará substituir os métodos getExtraJoins e getExtraConditions para unir e consultar sua (s) nova (s) tabela (s).

Não hesite em explicar mais o seu problema, ou dar um exemplo, para que possamos tentar ajudá-lo melhor;)

Olá @jjanvier

Obrigado pela sua resposta rápida e completa! Acho que me dá um bom ponto de partida. Os dados não estão vinculados à entidade de valor do produto, mas à entidade do produto.

Eu adicionei a guia de imagens ao formulário de edição do produto e criei uma propriedade de imagens (Coleção) vinculando à interface fileinfo.

manyToMany:
        images:
            targetEntity: Akeneo\Component\FileStorage\Model\FileInfoInterface

PS
Para exportação, usamos EnhanceConnector ajustado para exportar produtos 100% completos. E não tenho certeza de como ter certeza de que o produto 100% completo tem pelo menos uma imagem vinculada a ele.

Você tem que olhar para o método getMainSqlPart @ a2xchip. Isso gera a consulta SQL complexa que preencherá a totalidade. Talvez funcione no seu caso apenas substituindo os métodos getExtraJoins e getExtraConditions que mencionei antes. Substituindo esses 2 métodos, isso adicionará sua lógica extra a getMainSqlPart .

Mas depende de suas necessidades. Depende se você considera seu produto completo quando pelo menos 1 (ou 2 ou 3 ou X) ou todas as imagens são preenchidas.

Portanto, meu conselho é começar a substituir os 2 métodos getExtraJoins e getExtraConditions para entender como funciona a integridade. Se você precisar de mais lógica customizada, verifique o que fizemos para os preços.

Espero que minha explicação ajude você ^^
Não hesite em voltar aqui se tiver alguma dificuldade;)

@jjanvier Muito obrigado, vou seguir suas recomendações :-) Acho que vão me poupar muito tempo!

Esta página foi útil?
0 / 5 - 0 avaliações