Jump to content

Consulta Combinaciones de producto


JosueFer

Recommended Posts

Buenas tardes,

Soy nuevo en el foro y escribo porque estoy intentando crear una tienda online y me ha surgido la siguiente duda:

La tienda será de prendas de ropa en el que generalmente se venderán cantidades "grandes" de una misma prenda con diferentes tallas y colores. En la tienda se hará, por ejemplo, un descuento de un 5% cuando compras 5 unidades o más de una prenda del mismo color y talla, NO cuando compras 3 de un color y talla y 2 de otro color y talla.

EJEMPLO:

Precio del producto 5€

Un cliente necesita del mismo producto:

  • 6 blanco  S
  • 2 blanco M
  • 8 rojo XXL
  • 3 gris M

La oferta que necesitaría que hiciera es:

  • 6 blanco  S: 5€ - 5%
  • 2 blanco M: 5€
  • 8 rojo XXL: 5€ - 5%
  • 3 gris M: 5€

Pero tal y como me sale, por defecto suma el total de las combinaciones del producto y hace el descuento del total, incluso al artículo que no llega a 5 unidades del mismo color y misma talla:

1.PNG.5fc910c19a8b9a63d6f52fa0730dd7cf.PNG

 

Me podríais ayudar a como hacer lo que necesito?

Un saludo.

Link to comment
Share on other sites

hace 3 horas, JosueFer dijo:

Buenas tardes,

Nadie me puede orientar aunque sea un poquito con esto?

Estoy tocando un poco el código pero no llego a dar con la solución.

Muchas gracias.

Buenas @JosueFer Yo creo que para eso que buscas, seguramente necesitarías un modulo comprado o incluso un desarrollador que te lo haga a tu medida..

Link to comment
Share on other sites

Muchas gracias @JavierP, y sabrías decirme que módulo podría servirme?

 

En cuanto al código, en el archivo SpecificPrice de la carpeta Classes en estas líneas es donde creo que está la clave ya que de aquí obtiene la suma de las cantidades del producto que hay en el carrito, pero no saca la cantidad por combinación de un mismo producto:

    protected static function _getScoreQuery($id_product, $id_shop, $id_currency, $id_country, $id_group, $id_customer)
    {
        $select = '(';

        $priority = SpecificPrice::getPriority($id_product);
        foreach (array_reverse($priority) as $k => $field) {
            if (!empty($field)) {
                $select .= ' IF (`' . bqSQL($field) . '` = ' . (int) $$field . ', ' . 2 ** ($k + 1) . ', 0) + ';
            }
        }

        return rtrim($select, ' +') . ') AS `score`';
    }

 

Link to comment
Share on other sites

hola, puede que yo ayude mucho o ya lo halla pensado... pero ya identifico la variable que representa la combinación especifica del producto, para que cambie la validación y no de el descuento por ID de producto, si no que lo de por ID de la combinación o algo así.

espero sirva de algo y si no, me disculpe aunque hay que tener en cuenta que creo que yo soy mas nuevo que todos en esto

Link to comment
Share on other sites

Hola Edison , si es lo que había pensado en desarrollar pero no tengo grandes conocimientos en programación.

Lo que si he podido ver es que la propia plantilla te da la opción de cambiar la opción de contar por producto o por combinación.

Hay que ir a CONFIGURACIÓN > Parámetros de la tienda > Configuración de Productos > Productos (general) > Descuentos por cantidad basados en: y cambiar de Productos a Combinaciones. Con esto hace el cálculo para los descuentos como quiero.

Gracias a todos.

 

Edited by JosueFer (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...