Jump to content

Problema con combinaciones en el Front


Alonma

Recommended Posts

Buenos días chic@s.

Tengo un pequeño problema con las combinaciones, no se si es por hacerlo desde el CSV o es que hay un BUG.

Tengo un producto que tiene dos atributos: Tamaño y color... hasta aquí todo bien.

Subo las combinaciones mediante csv(lo sube todo correctamente) pero a la hora de ver el producto en el FRONT muestra los dos colores pero solo un Tamaño (El de 18CM). Lo normal es que  mostrara ambos tamaños y que al pinchar tanto en el color como en cualquiera de los tamaños me mostrara el producto asociado, pero no es así...

Estos son los datos que pongo en el campo "atributo" y en el del "valor"

Primer producto:           Tamaño:select:0|Color:color:1        18CM:0|ROSA:1

Segundo producto:        Tamaño:select:0|Color:color:1        21CM:0|AZUL:1

 

Alguien me puede ayudar a solucionar este problema..

 

Muchas gracias por vuestro tiempo y un saludo.

Link to comment
Share on other sites

Bueno...

He encontrado un fallo por el cual solo se mostraba un tamaño y no ambos.

En el controllers/front/productController.php hay unos foreach que tienen el carácter "&" no se si esta puesto a propósito por algún motivo pero es lo que me causaba el problema.

Reemplazar este código:

foreach ($groups as &$group) {

 

Por este otro:

foreach ($groups as $group) {

Con esta modificación también se soluciona el problema de cambiar los atributos de orden... Cuando ponía las dimensiones en primer lugar en el Admin no funcionaban las combinaciones en el FRONT.

 

 

Ahora encontré un par de errores más en las combinaciones:

1º) Si selecciono un producto con un tamaño determinado solo debería mostrar los colores que están asignados a ese tamaño(y no todos.) y viceversa.

2º) Este error tiene que ver con el anterior... al mostrar todos los colores y pinchar justo en el que no tiene combinación... salta de color y muestra el siguiente, es decir... Tengo un producto con dos tamaños por ejemplo 2CM y 5CM

  • El de 2CM tiene los siguientes colores asignados (colocados en el siguiente orden): verde, lila y negro.
  • El de 5CM tiene los siguientes colores asignados:  verde y negro. El color Lila sigue apareciendo entre ambos colores (pero dicho producto no existe), pero al pinchar en el salta de color, es decir, pasa al producto negro y el Lila sigue quedando seleccionado. Al intentar añadir el producto al carrito salta un error 500 en el javascript.

Espero que alguien me pueda ayudar a continuar en busca de la solución.

 

Un saludo.

 

Link to comment
Share on other sites

hace 21 horas, Alonma dijo:

Buenos días chic@s.

Tengo un pequeño problema con las combinaciones, no se si es por hacerlo desde el CSV o es que hay un BUG.

Tengo un producto que tiene dos atributos: Tamaño y color... hasta aquí todo bien.

Subo las combinaciones mediante csv(lo sube todo correctamente) pero a la hora de ver el producto en el FRONT muestra los dos colores pero solo un Tamaño (El de 18CM). Lo normal es que  mostrara ambos tamaños y que al pinchar tanto en el color como en cualquiera de los tamaños me mostrara el producto asociado, pero no es así...

Estos son los datos que pongo en el campo "atributo" y en el del "valor"

Primer producto:           Tamaño:select:0|Color:color:1        18CM:0|ROSA:1

Segundo producto:        Tamaño:select:0|Color:color:1        21CM:0|AZUL:1

 

Alguien me puede ayudar a solucionar este problema..

 

Muchas gracias por vuestro tiempo y un saludo.

 

 

Así es como lo pongo yo y no tengo problema. Uso primero el color y luego la talla aunque no creo que ese sea el problema, mas bien el separador. Yo uso coma y espacio y en el tuyo veo una barra vertical sin espacio. Y sin tocar código ni nada.

Color:color:0, Talla:select:1    Rojo:0, S:1

Color:color:0, Talla:select:1    Rojo:0, M:1

Color:color:0, Talla:select:1    Rojo:0, L:1

Color:color:0, Talla:select:1    Lila:0, S:1

Color:color:0, Talla:select:1    Lila:0, M:1

Color:color:0, Talla:select:1    Lila:0, L:1

 

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

8 hours ago, Aldeag said:

 

 

Así es como lo pongo yo y no tengo problema. Uso primero el color y luego la talla aunque no creo que ese sea el problema, mas bien el separador. Yo uso coma y espacio y en el tuyo veo una barra vertical sin espacio. Y sin tocar código ni nada.

Color:color:0, Talla:select:1    Rojo:0, S:1

Color:color:0, Talla:select:1    Rojo:0, M:1

Color:color:0, Talla:select:1    Rojo:0, L:1

Color:color:0, Talla:select:1    Lila:0, S:1

Color:color:0, Talla:select:1    Lila:0, M:1

Color:color:0, Talla:select:1    Lila:0, L:1

 

Muchas gracias por tu respuesta Aldeag!!

Estuve haciendo pruebas en un Prestashop totalmente limpio y sucede lo mismo... En la imagen se puede apreciar como quedo la combinación del CSV

129094590_Camisetaspruebas.png.48f4dc764897a52299d6182732cbe7af.png

A ver si soy capaz de explicarme xq esto tiene un poco de chicha...

Al entrar en la página del producto por primera vez, aparecen todos los colores y solo dos tallas... la "S" y la "M". Creo que hasta aquí todo bien xq como producto principal esta el Lila y solo tiene esta dos tallas.

871308476_CamisetaRosa.png.2bfbb44f9d7f6a358f8e4d6a1a71c6f0.png

 

Al seleccionar la camiseta Roja también me aparecen ambas Tallas. Por lo que también está correcto.

1397335571_camisetaRoja.thumb.png.4d19c6caa02189e2fce366cadb7b9c33.png

 

Pero al pinchar en el color Negro me debería aparecer la Talla "L" pero no es así, Sigue apareciendo la "S" y la "M". 

713878441_CamisetaNegra.png.715ca2e509d2c2027a8ec518283e02a2.png

Si intento añadirla al carrito me sale un error Post.thumb.png.7fca7525600d3ee28ca0f2cd670c97c2.png

 

Pero he descubierto que si actualizo la página de la camiseta Negra con las teclas Ctrl+F5 entoces si que aparece solo la Talla "L".

842829413_CamisetanegraL.png.d1ffea127b3e63122f70b097b70f39cd.png

 

Creo que el problema va ser una cuestión de redireccionamiento xq no lo esta realizando. Ya lo he probado con otro navegador y sucede exactamente lo mismo.

 

Y  si despues me cambio a las camisetas Roja y Lila me aparece solo la Talla "L".

762171206_CamisetaRojanoL.png.26b41500f3be4053f7b4a5c41612ee1f.png

 

Perdona por todo este tostón!!

Un saludo.

 

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

No te puedo ayudar en el tema de código o programación puesto que lo único que he aprendido en estos años que llevo usando Prestashop es a copiar y pegar lo que otros han hecho y no se que efecto pueden tener esas modificaciones que has hecho.

Yo lo que haría es poner las mismas tallas a todos los colores, pero a la hora de poner las cantidades poner 0 en aquellas tallas para las que no haya stock. Aparecerá "No hay suficientes productos en stock" y no se podrá añadir a la cesta

                                                                           Cantidad

Color:color:0, Talla:select:1  Rojo:0, S:1       0

Color:color:0, Talla:select:1  Rojo:0, M:1      1

Color:color:0, Talla:select:1  Rojo:0, L:1       1

Color:color:0, Talla:select:1  Lila:0, S:1        1

Color:color:0, Talla:select:1  Lila:0, M:1       1

Color:color:0, Talla:select:1  Lila:0, L:1        0

 

Link to comment
Share on other sites

9 hours ago, Aldeag said:

No te puedo ayudar en el tema de código o programación puesto que lo único que he aprendido en estos años que llevo usando Prestashop es a copiar y pegar lo que otros han hecho y no se que efecto pueden tener esas modificaciones que has hecho.

Yo lo que haría es poner las mismas tallas a todos los colores, pero a la hora de poner las cantidades poner 0 en aquellas tallas para las que no haya stock. Aparecerá "No hay suficientes productos en stock" y no se podrá añadir a la cesta

                                                                           Cantidad

Color:color:0, Talla:select:1  Rojo:0, S:1       0

Color:color:0, Talla:select:1  Rojo:0, M:1      1

Color:color:0, Talla:select:1  Rojo:0, L:1       1

Color:color:0, Talla:select:1  Lila:0, S:1        1

Color:color:0, Talla:select:1  Lila:0, M:1       1

Color:color:0, Talla:select:1  Lila:0, L:1        0

 

Muchas gracias por tu respuesta, pero no me vale esa solución.

El Prestashop que utilice para hacer estás pruebas  con la  camiseta es una instalación totalmente nueva por lo tanto no tiene ninguna modificación en el código.

No se si será problema de trabajar en localhost... tengo que probar a subirlo a un servidor en la nube.

Link to comment
Share on other sites

Bueno... acabo de confirmar que el problema no es xq esté en localhost.

Tiene que ser xq al llamar al ajax no se hace la consulta del select (Tallas) y por lo tanto no lo modifica, pero no se donde hace esta llamada... ese el problema.

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

Al fin he encontrado el fallo. lo dejo aquí por si a alguien le sucede lo mismo.

en el archivo core.js que se encuentra dentro de "themes" hay que modificar este código:

(".quickview .product-variants .page-product:not(.modal-open) .row .product-variants").replaceWith(e.product_variants)

 

 

por este otro:

(".product-variants").replaceWith(e.product_variants)

 

y a continuación borrar la caché o pulsar las teclas ctl+F5

 

 

Espero que os ayude a todos.

 

 

PD: los cambios que hice en controllers/front/productController.php NO son necesarios.

PD: Prestashop ordena las combinaciones en el front por orden alfabetico. Por mucho que modifiques la posición de los atributos en el admin, no los verás modificados en el front. Solo sirve para saber cual es el que tiene preferencia sobre el otro. No es lo mismo que una camiseta de color rojo tenga la talla "S,M y L" o que la talla "S" tenga los colores "Rojo,rosa y negro". Es decir. según quien pongas primero mostrará una lista desplegable del que pongas como segunda posición.

 

Un saludo.

Edited by Alonma (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...