Alberto Fernández Posted December 2, 2013 Share Posted December 2, 2013 (edited) Hola, Tengo productos con combinaciones que, como suelo tener pocas cantidades de ellos, es preferible mostar el nº de unidades en stock en la ficha del producto. Pero también tengo objetos personalizados y con combinaciones que fabrico yo mismo, que por limitaciones de prestashop me veo obligado a poner con un stock disparatado. Lo que pretendo es añadir un condicionante de stock que oculte el nº de unidades en stock de los productos a partir de una cantidad. Otra opción que he barajado es aprovechar en preferencias/productos/página del producto la opción de "Mostrar número de productos disponibles si su cantidad es inferior a " para que muestre las unidades disponibles en lugar del mensaje "Advertencia: ¡Últimos artículos en stock!" Esto último me parece mejor, así no habría que editar código cada vez que necesite corregir esa cantidad por si cambio de parecer en el futuro. Otras ventajas de esto, es que al no mostrar el stock completo de los artículos, la competencia no sabe lo que tenéis realmente disponible, evitáis que los ladrones hagan números, y el cliente final sigue viendo que hay disponibilidad de producto. Edited December 28, 2013 by Alberto Fernández (see edit history) Link to comment Share on other sites More sharing options...
Paula Martinez Posted December 2, 2013 Share Posted December 2, 2013 Hola, Me llamo Raul Martinez, Creo haber visto una solución para esto por el usuario Vekia: http://www.prestashop.com/forums/user/132608-vekia, pero no encuentro el enlace. (Como he dicho creo haber visto, no estoy seguro) Link to comment Share on other sites More sharing options...
Alberto Fernández Posted December 2, 2013 Author Share Posted December 2, 2013 Gracias Raúl, he buscado y leído muchos post sobre stock y cantidades en el foro hispano, miraré en los foros ingleses, a ver qué hay. Link to comment Share on other sites More sharing options...
Albertofdc Posted December 2, 2013 Share Posted December 2, 2013 Preferencias / Productos Link to comment Share on other sites More sharing options...
Alberto Fernández Posted December 2, 2013 Author Share Posted December 2, 2013 Producto1 En este tipo de producto no tengo necesidad de mostrar stock, ya que yo mismo lo fabrico: Producto2 En este otro tipo de producto sí quiero mostrar el stock, porque siempre es un número pequeño y de disponibilidad limitada (pues no siempre hay combinaciones) Quiero conservar el formato que muestra las unidades en stock, pero ocultarlo a partir de una cantidad determinada. Supongo que bastará un condicionante en product.tpl, indicando allí el número. Link to comment Share on other sites More sharing options...
nadie Posted December 3, 2013 Share Posted December 3, 2013 En mi fichero: /themes/default/product.tpl Tengo esto: {if ($display_qties == 1 && !$PS_CATALOG_MODE && $product->available_for_order)} <p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}> <span id="quantityAvailable">{$product->quantity|intval}</span> <span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='Item in stock'}</span> <span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='Items in stock'}</span> </p> {/if} lo he cambiado asi: {if ($display_qties == 1 && !$PS_CATALOG_MODE && $product->available_for_order)} <p id="pQuantityAvailable"{if $product->quantity <= 0 || $product->quantity < $last_qties} style="display: none;"{/if}> <span id="quantityAvailable">{$product->quantity|intval}</span> <span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='Item in stock'}</span> <span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='Items in stock'}</span> </p> {/if} Y ahora cuando en la casilla (en Preferencias -> Productos) que dice: Adjunto Imagen Mostrar número de productos disponibles si su cantidad es inferior a coloques el limite te ocultara el stock. Supongo que esto lo arregalaran en futuras versiones segun veo, ya que la opcion por defecto segun veo (creo*), creo que sirve para mostrar el mensaje/aviso. 1 Link to comment Share on other sites More sharing options...
Alberto Fernández Posted December 3, 2013 Author Share Posted December 3, 2013 En mi fichero: /themes/default/product.tpl Tengo esto: {if ($display_qties == 1 && !$PS_CATALOG_MODE && $product->available_for_order)} <p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}> <span id="quantityAvailable">{$product->quantity|intval}</span> <span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='Item in stock'}</span> <span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='Items in stock'}</span> </p> {/if} lo he cambiado asi: {if ($display_qties == 1 && !$PS_CATALOG_MODE && $product->available_for_order)} <p id="pQuantityAvailable"{if $product->quantity <= 0 || $product->quantity < $last_qties} style="display: none;"{/if}> <span id="quantityAvailable">{$product->quantity|intval}</span> <span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='Item in stock'}</span> <span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='Items in stock'}</span> </p> {/if} Y ahora cuando en la casilla (en Preferencias -> Productos) que dice: Adjunto Imagen Mostrar número de productos disponibles si su cantidad es inferior a coloques el limite te ocultara el stock. Supongo que esto lo arregalaran en futuras versiones segun veo, ya que la opcion por defecto segun veo (creo*), creo que sirve para mostrar el mensaje/aviso. Nadie, como bien dices, sólo muestra el aviso "Advertencia: ¡Últimos artículos en stock!" en lugar de la cantidad si es inferior al número indicado. Vamos, que no hace lo que dice! XDD y es justo lo que necesito.... He probado con el código que facilitas en ambas plantillas, y el resultado es el mismo que sin los cambios ¿?¿?¿? (he limpiado caché smarty, navegador, etc). Link to comment Share on other sites More sharing options...
nadie Posted December 3, 2013 Share Posted December 3, 2013 A mi funcionar, me funciona el codigo que te he comentado. (Atención, lo he probado solo con productos planos, voy a probarlos con productos con combinaciones por si las moscas) Link to comment Share on other sites More sharing options...
Alberto Fernández Posted December 3, 2013 Author Share Posted December 3, 2013 A mi funcionar, me funciona el codigo que te he comentado. (Atención, lo he probado solo con productos planos, voy a probarlos con productos con combinaciones por si las moscas) Vale, por lo que veo, lo hace al revés, muestra el stock si tengo más unidades de la cantidad indicada (en productos planos) Link to comment Share on other sites More sharing options...
nadie Posted December 3, 2013 Share Posted December 3, 2013 Vale, por lo que veo, lo hace al revés, muestra el stock si tengo más unidades de la cantidad indicada (en productos planos) Entonces ¿En combinaciones no funciona? Link to comment Share on other sites More sharing options...
Alberto Fernández Posted December 3, 2013 Author Share Posted December 3, 2013 (edited) Entonces ¿En combinaciones no funciona? Eso es, en combinaciones no funciona ya que siempre muestra la cantidad sea esta mayor o menor de la indicada. En productos sin atributos ni combinaciones muestra la cantidad si es mayor, pero la oculta si es menor mostrando "Advertencia: ¡Últimos artículos en stock!"(funciona al revés). He probado en otra instalación limpia 1.5.6.1 y pasa lo mismo. ¿nadie, en qué versión has aplicado la modificación del código?. Si es la misma es muuy raro. Edited December 4, 2013 by Alberto Fernández (see edit history) Link to comment Share on other sites More sharing options...
Alberto Fernández Posted December 6, 2013 Author Share Posted December 6, 2013 A mi funcionar, me funciona el codigo que te he comentado. (Atención, lo he probado solo con productos planos, voy a probarlos con productos con combinaciones por si las moscas) Hola nadie, has comprobado si el cambio de código te funciona con productos con combinaciones y/o personalizados? Link to comment Share on other sites More sharing options...
nadie Posted December 6, 2013 Share Posted December 6, 2013 Hola nadie, has comprobado si el cambio de código te funciona con productos con combinaciones y/o personalizados? No, no lo he probado, pero vamos si no funciona con combinaciones, es porque quizás haya que que tocar algún js. 1 Link to comment Share on other sites More sharing options...
Alberto Fernández Posted December 28, 2013 Author Share Posted December 28, 2013 No, no lo he probado, pero vamos si no funciona con combinaciones, es porque quizás haya que que tocar algún js. Hola nadie, al final lo he conseguido! Aunque no hice una comprobación final con tu código, creo que no me funcionaba porque la cantidad indicada como umbral opera sobre el total de unidades del producto, (esto es, sumando las unidades de cada combinación) en lugar de operar sobre las combinaciones individualmente. Basándome en este otro post del foro en inglés: http://www.prestashop.com/forums/topic/56232-hide-stock-quantity/?hl=%2Bhide+%2Bstock&do=findComment&comment=1320018 He dejado mi código así: <!-- number of item in stock --> {if ($display_qties == 1 && !$PS_CATALOG_MODE && $product->available_for_order)} <p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}> <span>{if $product->quantity > 200}{l s='In Stock'}{else}</span> <span id="quantityAvailable">{$product->quantity|intval}</span> <span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='item in stock'}</span> <span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='items in stock'}</span> </p> {/if}{/if} De esta manera obtengo más de lo que esperaba: Mostrar las cantidades disponibles para cada producto y combinación (que no pasen del umbral marcado, en este ejemplo 200) Queda así: http://cincelaser.com/panderetas/14-pandereta-colores.html Mostrar "en stock" (u otro mensaje) para productos que fabrico y para los que no es necesario indicar stock (ya que se indica una cantidad elevaba en la ficha) en lugar de ocultar la disponibilidad: Queda así:http://cincelaser.com/marcapaginas/33-mpc-libro.html No sé si es muy elegante, pero al menos funciona! Gracias! Link to comment Share on other sites More sharing options...
nadie Posted December 28, 2013 Share Posted December 28, 2013 Hola nadie, al final lo he conseguido! Aunque no hice una comprobación final con tu código, creo que no me funcionaba porque la cantidad indicada como umbral opera sobre el total de unidades del producto, (esto es, sumando las unidades de cada combinación) en lugar de operar sobre las combinaciones individualmente. Basándome en este otro post del foro en inglés: http://www.prestashop.com/forums/topic/56232-hide-stock-quantity/?hl=%2Bhide+%2Bstock&do=findComment&comment=1320018 He dejado mi código así: <!-- number of item in stock --> {if ($display_qties == 1 && !$PS_CATALOG_MODE && $product->available_for_order)} <p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}> <span>{if $product->quantity > 200}{l s='In Stock'}{else}</span> <span id="quantityAvailable">{$product->quantity|intval}</span> <span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='item in stock'}</span> <span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='items in stock'}</span> </p> {/if}{/if} De esta manera obtengo más de lo que esperaba: Mostrar las cantidades disponibles para cada producto y combinación (que no pasen del umbral marcado, en este ejemplo 200) Queda así: http://cincelaser.com/panderetas/14-pandereta-colores.html Mostrar "en stock" (u otro mensaje) para productos que fabrico y para los que no es necesario indicar stock (ya que se indica una cantidad elevaba en la ficha) en lugar de ocultar la disponibilidad: Queda así:http://cincelaser.com/marcapaginas/33-mpc-libro.html No sé si es muy elegante, pero al menos funciona! Gracias! Lo de que sea elegante o no, no es importante, lo importante es que lo has solucionado y dejado funcional. Me alegro de que hayas obtenido una solución para el problema ! Como veo que has añadido la palabra "Solucionado" en el titulo del tema, procedo a cerrarlo. Saludos, Link to comment Share on other sites More sharing options...
Recommended Posts