Tengo productos configurados de forma idéntica (por lo que puedo decir) y todos fueron importados con una plantilla CSV universal.
- El precio configurable es 29.99
- La manga corta del producto simple asociado es 29.99
- Producto simple asociado de manga larga es 39.99
Una factura facturó recientemente un producto de manga larga ( ZTWS-SBLS-XL ) que tiene un precio de 39.99 con un precio de producto configurable de 29.99. ¿Cómo puedo forzar que el precio simple del producto anule el precio configurable del producto? Ambos productos a continuación se configuran de manera idéntica con su producto configurable principal y como productos simples.
Factura:
Item Sku Qty Subtotal
Item one ZLOB-SBLS-XL 1 $39.99
Item Two ZTWS-SBLS-XL 1 $29.99
EDITAR: Todavía estoy trabajando en resolver esto. ¿Qué haría que Magento prefiriera el precio del producto simple sobre el precio del producto configurable o el precio del atributo del producto asociado?
Respuestas:
Cuando crea un producto configurable, no importa cuál sea el precio de los productos simples: estos precios se ignoran por completo. Entonces, si desea vender un producto simple A que tiene un precio de $ 29.99 y un producto simple B ($ 39.99), debe crear un producto configurable, establecer su precio en $ 29.99 y abrir la pestaña Producto asociado . Agregue los productos que desea asociar con este producto configurable. Después de agregarlos, aparece un bloque llamado Configuración de atributos de Super producto que contiene opciones y diferencias de precios. Deje vacío el precio del producto A y ponga 10 (+ $ 10) en el campo de precio del producto B y listo: diferentes productos simples tienen diferentes precios.
En realidad, hay una extensión que le permite usar precios de productos simples en lugar de diferencias de precios, pero es un poco complicado de configurar. Como es una extensión gratuita, espero que nadie se queje de que pegue su enlace aquí:
https://github.com/organicinternet/magento-configurable-simple
fuente
Por lo tanto, uso el siguiente código en combinación con una extensión como productos orgánicos configurables simples de Internet.
El siguiente código está destinado al proceso de compra / compra, esencialmente, es una actualización del modelo de precio configurable que pasa el cálculo del precio a un producto simple en caso de que el producto haya sido agregado al carrito --- esta solución NO muestra el precio en la página del producto en sí (sin embargo, hay muchas extensiones que ya lo hacen).
Actualice app / code / core / Mage / Catalog / Model / Product / Type / Configurable / Price.php (lo ideal es que use una extensión o anulación local en app / code / local)
Actualice el método: getFinalPrice, cambie a
Luego agregue esta función justo debajo de getFinalPrice:
Puede ver que, en caso de que el usuario haya "personalizado" el producto (IE, opciones configurables seleccionadas), determinamos el producto simple asociado y pasamos el control a su modelo de precios, de lo contrario, si el producto no está "personalizado" (IE, nosotros estás navegando en la página del producto) procedemos normalmente
fuente
Usando Magento Versión 1.9.2.2
Puede ser una solución ligeramente mejor, utilice el enfoque 'Observador' en lugar de piratear el núcleo o incluso anular la clase de precio del modelo predeterminada, es decir, aplicación / código / núcleo / Mage / Catálogo / Modelo / Producto / Tipo / Configurable / Price.php
Todo lo que tiene que hacer es usar el código de Alan dentro de su Observador recién creado, la única diferencia es en lugar de regresar
Reemplácelo con lo siguiente:
Sigue este Observer.php
Config.xml
Espero que resuelva el problema .. :)
fuente
Si los productos simples tienen un precio diferente pero se configuran contra el producto configurable sin una fijación de precio, ya sea fija o porcentual, se tomará el precio del producto configurable. No importa qué productos simples se compren, su precio no parece ser tenido en cuenta.
Para actualizar esto, simplemente vaya al producto principal en la sección de administración, luego, en la pestaña
Associated Products
, puede actualizar el precio de cada producto secundario para agregar un precio adicional al precio de los productos principales.fuente
También estoy teniendo el mismo problema y lo solucioné usando el siguiente código. Funcionará también en el lado del administrador si hace un pedido al administrador (para pedidos telefónicos)
Observa este evento,
y agregue el siguiente código en su Observer.php
Obtendrá el precio del producto asociado y se guardará en la cotización.
fuente
$item->setOriginalCustomPrice($sprice);
y$item->setOriginalPrice($price);
, que permite múltiples elementos configurables que apuntan al mismo producto, en el carrito, con diferentes precios.Siga los pasos a continuación para cambiar el precio del súper atributo
Primero use observadores "catalog_product_get_final_price". Haz observadores como este:
Abra su módulo config.xml y use el siguiente código:
Ahora crea el archivo Observer.php en el modelo y luego debajo del código
Ahora abra app / design / frontend / default / yourtheme / template / catalog / product / view / type / options / configurable.phtml y pegue el siguiente código en cualquier parte del archivo
Ahora abra js / varien / configurable.js y cambie la función reloadPrice como se muestra a continuación o también puede reemplazar toda esta función
Código tomado de: http://chandreshrana.blogspot.in/2016/03/set-simple-product-price-instead-of.html
fuente