Estoy tratando de crear un producto con dos campos de texto personalizados: largo y ancho. Cuando el usuario escribe tanto en longitud como en anchura, el precio debe calcularse mediante una fórmula personalizada.
Estoy tratando de encontrar el evento correcto para conectar a un observador. ¿Alguien sabe qué podría ser?
Esto es lo que sé y he probado
1) el cuadro de texto de campo personalizado en la vista del producto tiene un evento de cambio que aún no he descubierto cómo aprovechar a través de un evento de observación - "opConfig.reloadPrice ()
2) Si construyo un observador en el evento sales_quote_add_item, entonces puedo cambiar el precio a través de la fórmula cuando se agrega al carrito. Con este método todavía necesito una forma de cambiarlo en la vista del producto antes de agregarlo al carrito.
3) También probé el evento catalog_product_get_final_price pero parece que solo se dispara cuando se carga la página del producto, por lo que después de agregar una longitud o ancho del producto, no se vuelve a disparar.
Cualquier idea sería muy apreciada!
fuente
Respuestas:
Utilicé para este caso de uso
sales_quote_collect_totals_before
:En el lado del cliente, ¿puede usar algunas líneas de JS para actualizar el precio?
fuente
catalog_product_get_final_price
es el evento del lado del servidor correcto, no solo se activa cuando se carga la página del producto, sino también cuando el producto se agrega al carrito. En este caso, tiene todas las opciones personalizadas seleccionadas disponibles con:(Consulte también: ¿Hay alguna forma en que el usuario pueda establecer el precio deseado personalizado mayor que cero y proceder al carrito de cualquier producto? )
Volver a calcular el precio en la página del producto es otro tema y necesita JavaScript.
reloadPrice
es la función correcta para conectar, la extendería así:fuente