oxoa Posted June 30, 2014 Share Posted June 30, 2014 (edited) Hola, como puedo poner la cantidad de stock en el product list?? estoy insertando este codigo pero no hay manera, presta 1.6 {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} Saludos Edited June 30, 2014 by oxoa (see edit history) Link to comment Share on other sites More sharing options...
jesa Posted June 30, 2014 Share Posted June 30, 2014 Tu problema será que estás intentando pintar en tu vista un valor que no existe. Es decir, cuando queremos mostrar algo en pantalla, no basta con modificar el .tpl para que aparezca el valor, sino que previamente hay que recuperarlo de base de datos. Tienes hecha la parte visual pero te faltan todas las modificaciones previas en los controller y/o clases. Link to comment Share on other sites More sharing options...
ventura Posted June 30, 2014 Share Posted June 30, 2014 intentalo asi {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} Link to comment Share on other sites More sharing options...
oxoa Posted June 30, 2014 Author Share Posted June 30, 2014 intentalo asi {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} Asi tampoco... Jesa, no he tocado nada mas que el .tpl... he puesto tambien el fabricante y solo he modificado el product-list, por eso creia que bastaria con esto... estoy un poco perdido Link to comment Share on other sites More sharing options...
jesa Posted June 30, 2014 Share Posted June 30, 2014 Lo de cambiar solamente el tpl algunas veces funciona y otras no...la razón es sencilla. No siempre se recuperan de la base de datos todos los campos relacionados con lo que vamos a pintar en pantalla. Es decir, a lo mejor en la pantalla del producto se recuperan todos los datos del producto y no todos se pintan. Por eso, al modificar solo el tpl funciona porque el dato ya está previamente recuperado de bbdd. En el product-list debe ser que solo se recuperan los datos que se van a pintar y de ahí que no te funcione el pintar la cantidad. Tendrías que seguir el flujo que hace al recuperar los productos de una categoría hasta llegar a la query que ejecuta y allí añadir la cantidad del producto para después poderla pintar en tu pantalla. Link to comment Share on other sites More sharing options...
oxoa Posted June 30, 2014 Author Share Posted June 30, 2014 Lo de cambiar solamente el tpl algunas veces funciona y otras no...la razón es sencilla. No siempre se recuperan de la base de datos todos los campos relacionados con lo que vamos a pintar en pantalla. Es decir, a lo mejor en la pantalla del producto se recuperan todos los datos del producto y no todos se pintan. Por eso, al modificar solo el tpl funciona porque el dato ya está previamente recuperado de bbdd. En el product-list debe ser que solo se recuperan los datos que se van a pintar y de ahí que no te funcione el pintar la cantidad. Tendrías que seguir el flujo que hace al recuperar los productos de una categoría hasta llegar a la query que ejecuta y allí añadir la cantidad del producto para después poderla pintar en tu pantalla. Ok, voy haber si lo consigo, luego os cuento... Link to comment Share on other sites More sharing options...
oxoa Posted July 3, 2014 Author Share Posted July 3, 2014 Ok, voy haber si lo consigo, luego os cuento... No hay manera de resolverlo.... he modificado las clases y nada, nose que mas hacer :S Link to comment Share on other sites More sharing options...
jesa Posted July 4, 2014 Share Posted July 4, 2014 Si has seguido por donde va pasando cuando cargas la pantalla no deberías tener problema en conseguirlo. Lo que buscas seguro que se puede hacer, no es algo tan raro, eso si, todo depende de los conocimientos que tengas de programación. Link to comment Share on other sites More sharing options...
oxoa Posted July 10, 2014 Author Share Posted July 10, 2014 Si has seguido por donde va pasando cuando cargas la pantalla no deberías tener problema en conseguirlo. Lo que buscas seguro que se puede hacer, no es algo tan raro, eso si, todo depende de los conocimientos que tengas de programación. El problema es ese, que no soy programador... :S Link to comment Share on other sites More sharing options...
Daviant Posted July 10, 2014 Share Posted July 10, 2014 (edited) El problema es ese, que no soy programador... :S Saludos; Yo lo tengo como se muestra en la captura, y lo que hice fue lo siguiente, por si te sirve de esta forma: Después de esté código (aproximádamente en la línea 55) : <img class="replace-2x img-responsive" src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html':'UTF-8'}" alt="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" title="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} itemprop="image" /> Agregué esto: {if $product.quantity >0} <strong>{l s='STOCK: '}</strong>{$product.quantity} {else} <strong>{l s='SIN STOCK'}</strong> {/if} :) Edited July 10, 2014 by Daviant (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts