Alonma Posted March 10, 2020 Share Posted March 10, 2020 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 More sharing options...
Alonma Posted March 11, 2020 Author Share Posted March 11, 2020 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 More sharing options...
Aldeag Posted March 11, 2020 Share Posted March 11, 2020 (edited) 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 March 11, 2020 by Aldeag (see edit history) Link to comment Share on other sites More sharing options...
Aldeag Posted March 11, 2020 Share Posted March 11, 2020 Y que ya tengas creadas las tallas (tamaños) y colores en atributos y valores Link to comment Share on other sites More sharing options...
Alonma Posted March 11, 2020 Author Share Posted March 11, 2020 (edited) 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 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. Al seleccionar la camiseta Roja también me aparecen ambas Tallas. Por lo que también está correcto. 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". Si intento añadirla al carrito me sale un error 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". 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". Perdona por todo este tostón!! Un saludo. Edited March 11, 2020 by Alonma (see edit history) Link to comment Share on other sites More sharing options...
Aldeag Posted March 11, 2020 Share Posted March 11, 2020 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 More sharing options...
Alonma Posted March 12, 2020 Author Share Posted March 12, 2020 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 More sharing options...
Alonma Posted March 12, 2020 Author Share Posted March 12, 2020 (edited) 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 March 12, 2020 by Alonma (see edit history) Link to comment Share on other sites More sharing options...
Alonma Posted March 15, 2020 Author Share Posted March 15, 2020 (edited) 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 March 15, 2020 by Alonma (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now