Pim-community-dev: [Pregunta] Calculadora de completitud

Creado en 18 abr. 2016  ·  5Comentarios  ·  Fuente: akeneo/pim-community-dev

Estoy haciendo una pregunta

Usamos la versión PIM 1.4 en nuestra integración y planeamos actualizar a 1.5 después de un mes.

Historia
Tenemos una entidad de producto personalizada que agrega una nueva relación al producto. Es una relación unidireccional ManyToMany a través de la tabla de combinación.

Pregunta
¿Cuál es la mejor manera de actualizar / sobrescribir la calculadora de completitud para poder agregar datos de productos adicionales en sus cálculos? Puede haber algo como un archivo de configuración. Puede que haya otra mejor manera de hacerlo.

¡Gracias!

question

Todos 5 comentarios

Hola @ a2xchip ,

Lamentablemente, en este momento, debe anular CompletenessGenerator . Es triste porque es uno de los últimos lugares en el PIM donde los tipos de atributos personalizados no se manejan fácilmente a través de un registro. Sabemos que tenemos que reescribir esta parte, está en nuestra lista de tareas pendientes, pero todavía no puedo darte una ETA.

Esta parte es bastante sensible y compleja. ¿Cuál es la naturaleza de los datos sobre los que desea calcular la completitud?

Si está vinculado a un ProductValue, le sugiero que haga exactamente lo mismo que hemos hecho con los precios. Eche un vistazo al método prepareCompletePrices . Ese puede ser un buen comienzo de lo que necesitará lograr. También deberá anular los métodos getExtraJoins y getExtraConditions para unirse y consultar sus nuevas tablas.

No dudes en explicar más tu problema, o dar un ejemplo, para que podamos intentar ayudarte mejor;)

Hola @jjanvier

¡Gracias por su rápida y completa respuesta! Creo que me da un buen punto de partida. Los datos no están vinculados a la entidad de valor del producto sino a la entidad del producto.

Agregué la pestaña de imágenes al formulario de edición del producto y creé la propiedad de las imágenes (Colección) que se vinculan a la interfaz de fileinfo.

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

PD
Para la exportación utilizamos EnhanceConnector ajustado para exportar productos 100% completos. Y no estoy seguro de cómo asegurarme de que el producto 100% completo tenga al menos una imagen vinculada.

Tienes que mirar el método getMainSqlPart @ a2xchip. Esto genera la consulta SQL compleja que completará la totalidad. Tal vez funcione en su caso simplemente anulando los métodos getExtraJoins y getExtraConditions que mencioné antes. Al anular esos 2 métodos, esto agregará su lógica adicional a getMainSqlPart .

Pero depende de tus necesidades. Depende si considera que su producto está completo cuando al menos 1 (o 2 o 3 o X) o todas las imágenes están completadas.

Entonces, mi consejo es que primero comience a anular los 2 métodos getExtraJoins y getExtraConditions para comprender cómo funciona la integridad. Si necesita más lógica personalizada, consulte lo que hicimos con los precios.

Espero que mi explicación te ayude ^^
No dude en volver aquí si tiene alguna dificultad;)

@jjanvier Muchas gracias. Seguiré tus recomendaciones :-) ¡Creo que me ahorrarán mucho tiempo!

¿Fue útil esta página
0 / 5 - 0 calificaciones