Sergi Posted April 18, 2018 Share Posted April 18, 2018 (edited) Buenas, Estuve buscando una opción para ocultar al público los productos agotados y vi este hilo resuelto a medias de hace 5 años: https://www.prestashop.com/forums/topic/238941-ocultaresconder-productos-sin-stock-solucionado/ Digo a medias porque faltaba resolver el tema de las combinaciones (ocultar el producto solo cuando todas sus combinaciones estén agotadas), el cual pude resolver fácilmente con el siguiente condicional en la v. 1.7.2.5: {if $product.quantity_all_versions > 0} Hasta aquí todo correcto. Ahora bien, para acabarlo de completar, lo ideal seria ocultar también esas combinaciones en los resultados obtenidos por el filtro. ¿Alguien sabe alguna idea de cómo lograrlo? Muchas gracias de antemano Edited July 12, 2018 by Sergi (see edit history) Link to comment Share on other sites More sharing options...
Sergi Posted July 3, 2018 Author Share Posted July 3, 2018 Buenas. Comento el tema para subirlo de nuevo. Link to comment Share on other sites More sharing options...
atonab Posted July 3, 2018 Share Posted July 3, 2018 Aún no lo resuelves? Link to comment Share on other sites More sharing options...
Sergi Posted July 4, 2018 Author Share Posted July 4, 2018 wOw, Parece que se me recalentaron las neuronas... :S La opción que busco la ofrece Prestashop en su configuración básica. Gracias de todas formas Link to comment Share on other sites More sharing options...
Sergi Posted July 12, 2018 Author Share Posted July 12, 2018 Nah... No se me recalentó nada Edito la pregunta original y dejo un resumillo aquí mismo... Prestashop puede ocultar las combinaciones sin stock en la ficha del producto PERO no en la lista de productos general, de categoria, marca, etc. Lo que Prestashop oculta mediante su filtro nativo son los productos que no tengan stock total PERO no combinaciones concretas sin stock concreto. Por ej. si filtras por talla "S" te lista los productos con esa combinación atribuida, haya o no haya existencias. Genial para un inventario fijo donde el encargado repone el stock y el cliente lo pide, pero frustrante para una pyme que maneja muchas combinaciones con poco stock, en cuyo caso se queda la tienda vacía rápidamente con tallas y colores sin stock. ¿La solución? Eliminar automáticamente las combinaciones que se queden sin stock. Conseguir un filtro (gratuito o de pago) que filtre también las combinaciones. Si alguien puede ayudarme con alguna de estas dos soluciones o conoce alguna otra, sería genial. ¡Muchas gracias! 1 Link to comment Share on other sites More sharing options...
Antakarana Posted December 19, 2019 Share Posted December 19, 2019 Hola! Tenemos ese mismo problema... hay alguna forma de ocultar las combinaciones de talla-color que no tengan stock? Cuando un producto tiene varias combinaciones y almenos 1 de ellas tiene 1 unidad de stock te muestra la talla en todas .... y el problema no es que la muestre sino que cuando el cliente la selecciona no sale un aviso tipo "no tenemos stock" sino que se salta a otra combinacion distinta con stock... Esto crea mucha confusión al cliente porque da la sensacion de que la página no funciona correctamente. Gracias Link to comment Share on other sites More sharing options...
Prestafan33 Posted December 19, 2019 Share Posted December 19, 2019 No sé si esto te puede solucionar el problema: Está en Preferencias -> Productos. Prueba a poner esa opción en "No", a ver si así cambia el comportamiento que comentas. Link to comment Share on other sites More sharing options...
Antakarana Posted December 19, 2019 Share Posted December 19, 2019 hace 4 minutos, Prestafan33 dijo: No sé si esto te puede solucionar el problema: Está en Preferencias -> Productos. Prueba a poner esa opción en "No", a ver si así cambia el comportamiento que comentas. Gracias por la sugerencia, lo tengo así: Sin embargo no funciona... Link to comment Share on other sites More sharing options...
Antakarana Posted December 19, 2019 Share Posted December 19, 2019 He encontrado un modulo de pago que al parecer hace este tipo de tareas (QUE DEBERIAN SER POR DEFECTO DE PRESTASHOP) https://addons.prestashop.com/es/combinaciones-personalizacion/42298-ocultar-o-mostrar-atributos-y-combinaciones.html?ab=1 Voy a preguntar, si cumple con la funcionalidad exacta y lo comento, pero obviamente si se pudiera hacer por la via de retocar algun fichero y alguien conoce la forma se agradeceria que lo comparta. Gracias Link to comment Share on other sites More sharing options...
Prestafan33 Posted December 19, 2019 Share Posted December 19, 2019 (edited) Si lo único que quieres que es que no se muestren las combinaciones que no tienen stock, yo lo tengo hecho modificando el .tpl de la ficha de producto, aunque no sé si es exactamente lo que tú quieres: Yo lo que hago es mostrar todas las tallas y colores disponibles. Cuando se selecciona una combinación (por ejemplo, talla S, color Negro), muestro todo el resto de tallas y colores disponibles, pero las tallas que NO tiene stock en color negro aparecen tachadas, y los colores que NO tiene stock para la talla S también tachados. Creo que se parece a lo que buscas, pero no sé si es exactamente lo mismo. En este caso está seleccionada la talla 37 en color negro, y aparecen como disponibles las tallas que tienen existencias en negro (37, 38 y 39), y luego los colores que tienen existencias para la talla 37 (gris y negro). Edited December 19, 2019 by Prestafan33 (see edit history) Link to comment Share on other sites More sharing options...
Sergi Posted December 19, 2019 Author Share Posted December 19, 2019 hace 3 horas, Antakarana dijo: Hola! Tenemos ese mismo problema... hay alguna forma de ocultar las combinaciones de talla-color que no tengan stock? Cuando un producto tiene varias combinaciones y almenos 1 de ellas tiene 1 unidad de stock te muestra la talla en todas .... y el problema no es que la muestre sino que cuando el cliente la selecciona no sale un aviso tipo "no tenemos stock" sino que se salta a otra combinacion distinta con stock... Esto crea mucha confusión al cliente porque da la sensacion de que la página no funciona correctamente. Gracias Buenas, Creo que no hay otro remedio que elegir una de las dos opciones: que los productos agotados aparezcan con alguna marca de "agotado". que los productos no aparezcan directamente. Según el tipo de comercio puede que te interese una fórmula o la otra. ¿Has leído el hilo al cual hago referencia? La solución que encontré es para la segunda opción, y para que funcione también con los resultados del filtro usé un módulo de pago. Concretamente éste. En caso de necesitar la primera opción, la solución de @Prestafan33 parece interesante. Saludos Link to comment Share on other sites More sharing options...
Alejandro Loidi Posted January 29, 2020 Share Posted January 29, 2020 Hola a todos, Dentro de las soluciones que hay en el foro sobre este tema, la tuya @Prestafan33 es de las mejores que he visto. Por lo menos avisamos al usuario de que no hay existencias para esa combinación de forma visual. ¿Podrías adjuntarnos el fragmento de código que has modificado en el .tpl de la ficha de producto? Muchas gracias de antemano! Link to comment Share on other sites More sharing options...
Prestafan33 Posted January 30, 2020 Share Posted January 30, 2020 (edited) 18 hours ago, Alejandro Loidi said: Hola a todos, Dentro de las soluciones que hay en el foro sobre este tema, la tuya @Prestafan33 es de las mejores que he visto. Por lo menos avisamos al usuario de que no hay existencias para esa combinación de forma visual. ¿Podrías adjuntarnos el fragmento de código que has modificado en el .tpl de la ficha de producto? Muchas gracias de antemano! El problema es que me he dado cuenta de que, con la solución que tenía originalmente, puede darse el caso de que haya combinaciones inaccesibles. Me explico: Tal y como lo tenía yo, mostraba inaccesibles las combinaciones que no tenían stock en relación con la combinación seleccionada. Con un ejemplo: Un producto que tiene colores blanco y negro y tallas S, M y L. Supongamos que los stocks están así: Blanco, S -> 4 Blanco, M -> 7 Blanco, L -> 0 Negro, S -> 3 Negro, M -> 0 Negro, L -> 5 Bien, supongamos que la combinación por defecto es Blanco, S (o que se accede directamente a esa combinación). Aparecerían como activos los colores Negro (porque hay stock en Negro-S), y las tallas S y M, y como desactivada la talla L (no hay Blanco-L). El problema viene si, por ejemplo, la combinación por defecto es Blanco-M, o se accede a esa combinación. Aparecería DESACTIVADO el color Negro (porque no hay Negro-M). Y no se podría acceder a las combinaciones Negro-S y Negro-L. Eventualmente sí que sería posible si se cambia primero la talla a una que tenga stock en color negro, se cambia a color negro y se selecciona luego la talla, pero supongamos que en un momento determinado el estado de los stocks es éste: Blanco, S -> 0 Blanco, M -> 7 Blanco, L -> 0 Negro, S -> 0 Negro, M -> 0 Negro, L -> 5 En este estado, desde la combinación Blanco-M, no se podría acceder de ninguna manera al Negro-L, porque no hay stock de la talla L en blanco (y por tanto, la talla L aparecería desactivada), y tampoco hay stock de la talla M en negro (y el color negro aparecería deshabilitado también). Si sólo hay un atributo la cosa es sencilla, pero si son 2 o más los que se combinan la cosa se va complicando bastante. Por mi parte lo que he hecho en ese caso concreto, como los atributos sólo van a ser dos como máximo (tallas y colores), es dejar los colores siempre habilitados, independientemente del stock, y deshabilitar las tallas que están sin stock para el color seleccionado. Esto hace que en algún momento se pueda llegar a seleccionar una combinación sin stock (y aparecerá el aviso correspondiente), pero asegura que todas las combinaciones sean accesibles siempre. Tengo pendiente darle otra vuelta para ver si encuentro otra solución mejor, pero por ahora es lo único que se me ha ocurrido. Edited January 30, 2020 by Prestafan33 (see edit history) Link to comment Share on other sites More sharing options...
francomattiazzo Posted February 18, 2020 Share Posted February 18, 2020 On 1/30/2020 at 10:09 AM, Prestafan33 said: El problema es que me he dado cuenta de que, con la solución que tenía originalmente, puede darse el caso de que haya combinaciones inaccesibles. Me explico: Tal y como lo tenía yo, mostraba inaccesibles las combinaciones que no tenían stock en relación con la combinación seleccionada. Con un ejemplo: Un producto que tiene colores blanco y negro y tallas S, M y L. Supongamos que los stocks están así: Blanco, S -> 4 Blanco, M -> 7 Blanco, L -> 0 Negro, S -> 3 Negro, M -> 0 Negro, L -> 5 Bien, supongamos que la combinación por defecto es Blanco, S (o que se accede directamente a esa combinación). Aparecerían como activos los colores Negro (porque hay stock en Negro-S), y las tallas S y M, y como desactivada la talla L (no hay Blanco-L). El problema viene si, por ejemplo, la combinación por defecto es Blanco-M, o se accede a esa combinación. Aparecería DESACTIVADO el color Negro (porque no hay Negro-M). Y no se podría acceder a las combinaciones Negro-S y Negro-L. Eventualmente sí que sería posible si se cambia primero la talla a una que tenga stock en color negro, se cambia a color negro y se selecciona luego la talla, pero supongamos que en un momento determinado el estado de los stocks es éste: Blanco, S -> 0 Blanco, M -> 7 Blanco, L -> 0 Negro, S -> 0 Negro, M -> 0 Negro, L -> 5 En este estado, desde la combinación Blanco-M, no se podría acceder de ninguna manera al Negro-L, porque no hay stock de la talla L en blanco (y por tanto, la talla L aparecería desactivada), y tampoco hay stock de la talla M en negro (y el color negro aparecería deshabilitado también). Si sólo hay un atributo la cosa es sencilla, pero si son 2 o más los que se combinan la cosa se va complicando bastante. Por mi parte lo que he hecho en ese caso concreto, como los atributos sólo van a ser dos como máximo (tallas y colores), es dejar los colores siempre habilitados, independientemente del stock, y deshabilitar las tallas que están sin stock para el color seleccionado. Esto hace que en algún momento se pueda llegar a seleccionar una combinación sin stock (y aparecerá el aviso correspondiente), pero asegura que todas las combinaciones sean accesibles siempre. Tengo pendiente darle otra vuelta para ver si encuentro otra solución mejor, pero por ahora es lo único que se me ha ocurrido. hola, yo solo tengo un atributo que es la talla. podrias compartir el codigo que has modificado? muchas gracias Link to comment Share on other sites More sharing options...
Tiendas Multisports Posted May 7, 2020 Share Posted May 7, 2020 On 12/19/2019 at 5:11 AM, Prestafan33 said: Si lo único que quieres que es que no se muestren las combinaciones que no tienen stock, yo lo tengo hecho modificando el .tpl de la ficha de producto, aunque no sé si es exactamente lo que tú quieres: Yo lo que hago es mostrar todas las tallas y colores disponibles. Cuando se selecciona una combinación (por ejemplo, talla S, color Negro), muestro todo el resto de tallas y colores disponibles, pero las tallas que NO tiene stock en color negro aparecen tachadas, y los colores que NO tiene stock para la talla S también tachados. Creo que se parece a lo que buscas, pero no sé si es exactamente lo mismo. En este caso está seleccionada la talla 37 en color negro, y aparecen como disponibles las tallas que tienen existencias en negro (37, 38 y 39), y luego los colores que tienen existencias para la talla 37 (gris y negro). Es una gran solución, podrías por favor compartirnos el código para realizarlo. Link to comment Share on other sites More sharing options...
Frank_C Posted April 21, 2022 Share Posted April 21, 2022 Buenas a todos, tras dos años escribo algo: Mi problema es que quiero deshabilitar una talla de un producto. Da igual el stock que tenga quiero ocultarla/deshabilitarla pero no eliminarla. Como si desapareciera esa única talla cara al cliente, pero quiero mantenerla por si mañana quiero activarla de nuevo ¿Se me entiende? Es como habilitar o deshabilitar un producto pero en este caso con una combinacion(talla). ¿Esto es más fácil de hacer? Link to comment Share on other sites More sharing options...
Sergi Posted May 18, 2022 Author Share Posted May 18, 2022 Buenas @Frank_C Creo que lo mejor seria abrir un hilo nuevo con ese tema. Se me ocurre una chapucilla que podría funcionar, incómoda de mantener pero usando las funciones nativas de Prestashop: editar la combinación que quieras desactivar y poner una fecha de disponibilidad del año 3022 Saludos, Sergi Link to comment Share on other sites More sharing options...
Iván Ros Navarro Posted May 25, 2022 Share Posted May 25, 2022 Hola, @Frank_C La forma ideal es montar un nuevo campo en la tabla ps_attribute, añadirlo en la class Attribute.php y luego cambiar los tpl (product.tpl y product-list.tpl) para que comprueben este nuevo dato antes de mostrar el atributo. Algo rápido es meterse directamente en los tpl arriba indicados, buscar el tipo de variante que es tu atributo talla (color, select, radio) y meterle un if que compruebe el name del atributo talla para que cuando sea "S", no pintarlo. Como depende del tema que tengas instalado, no puedo darte un código a probar. Link to comment Share on other sites More sharing options...
Frank_C Posted May 26, 2022 Share Posted May 26, 2022 Lo primero de todo gracias a ambos por las respuestas On 5/25/2022 at 10:30 AM, Iván Ros Navarro said: Hola, @Frank_C La forma ideal es montar un nuevo campo en la tabla ps_attribute, añadirlo en la class Attribute.php y luego cambiar los tpl (product.tpl y product-list.tpl) para que comprueben este nuevo dato antes de mostrar el atributo. Algo rápido es meterse directamente en los tpl arriba indicados, buscar el tipo de variante que es tu atributo talla (color, select, radio) y meterle un if que compruebe el name del atributo talla para que cuando sea "S", no pintarlo. Como depende del tema que tengas instalado, no puedo darte un código a probar. Creo que esto no me sirve, me explico. Mi prestashop es una especie de base de datos por lo que no se vende en dicho prestashop si no que envía esos productos mediante plugin(modulo) a otro sitio que es el encargado de vender. Creo que con tu código haces que no se muestre y no se pueda vender pero aun así se enviaría mediante el plugin(modulo). Entiendo lo que mencionas pero ... ufff sería un currazo no? jaja On 5/18/2022 at 1:50 PM, Sergi said: Buenas @Frank_C Creo que lo mejor seria abrir un hilo nuevo con ese tema. Se me ocurre una chapucilla que podría funcionar, incómoda de mantener pero usando las funciones nativas de Prestashop: editar la combinación que quieras desactivar y poner una fecha de disponibilidad del año 3022 Saludos, Sergi Esto lo veo interesante y factible, soluciona muchos módulos de pago sin funcionase. No lo he podido probar ya que creé reglas de exclusiones donde reciben los productos y no hizo falta, pero es interesante PD: Ojalá Prestashop implementase un sencillo botón como con los productos ... 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