Toto Mir Posted December 10, 2019 Share Posted December 10, 2019 (edited) Hola, en mi tienda no logro hacer que se vea el estado de uso del producto (usado/nuevo). No me sirve modificarlo uno a uno, pues cuento con miles de productos usados. Necesito hacerlo de manera masiva. Intenté modificar products.php (show condition=true), pero no se ha arreglado. Adjunto imagen de ejemplo. Por favor, agradezco guía para poder arreglarlo (googlié mucho y no encontré soluciones). ATTE Edited January 21, 2020 by Toto Mir SOLUCIONADO. (see edit history) Link to comment Share on other sites More sharing options...
Toto Mir Posted January 21, 2020 Author Share Posted January 21, 2020 Gusman126 me respondió en este topic: "Si necesitas que se muestre en la zona principal, vas a tener que cambiar el fichero .tpl ... Yo lo añadiria debajo del nombre . en el fichero /themes/classic/templates/catalog/product.tpl Antes de {block name='product_prices'} {block name='product_condition'} {if $product.condition} <div class="product-condition"> <label class="label">{l s='Condition' d='Shop.Theme.Catalog'} </label> <link itemprop="itemCondition" href="{$product.condition.schema_url}"/> <span>{$product.condition.label}</span> </div> {/if} {/block} Link to comment Share on other sites More sharing options...
nirmuc Posted January 14, 2021 Share Posted January 14, 2021 (edited) Alguno ha encontrado solución para poner show_condition por defecto true en todos los productos, ya sea por TPL o sobreescribiendo alguna clase?? Yo también tengo este problema y me parece muy extraño que no haya un modo mediante código para que muestre siempre la condición del producto, ya sea cambiando un tpl o sobreescribiendo una clase, llevo un día intentando resolver esto y no he encontrado una solución elegante sin tener que actualizar masivamente la base de datos .... si alguien tuviese alguna solución se lo agradecería que la compartiese .... He encontrado que la función que hace esta comprobación es esta de la clase ProductLazyArray.php, pero es un archivo del nucleo de prestashop y creo que no se puede sobreescribir esa función .... en mi caso me bastaría con quitar ese primer if class ProductLazyArray extends AbstractLazyArray { .... public function getCondition() { if (empty($this->product['show_condition'])) { return false; } ...... Edited January 14, 2021 by nirmuc (see edit history) Link to comment Share on other sites More sharing options...
Toto Mir Posted June 8, 2021 Author Share Posted June 8, 2021 On 1/14/2021 at 5:43 AM, nirmuc said: Alguno ha encontrado solución para poner show_condition por defecto true en todos los productos, ya sea por TPL o sobreescribiendo alguna clase?? Yo también tengo este problema y me parece muy extraño que no haya un modo mediante código para que muestre siempre la condición del producto, ya sea cambiando un tpl o sobreescribiendo una clase, llevo un día intentando resolver esto y no he encontrado una solución elegante sin tener que actualizar masivamente la base de datos .... si alguien tuviese alguna solución se lo agradecería que la compartiese .... He encontrado que la función que hace esta comprobación es esta de la clase ProductLazyArray.php, pero es un archivo del nucleo de prestashop y creo que no se puede sobreescribir esa función .... en mi caso me bastaría con quitar ese primer if class ProductLazyArray extends AbstractLazyArray { .... public function getCondition() { if (empty($this->product['show_condition'])) { return false; } ...... Hola, yo añadí el punto 2) a esta solución para que toda NUEVA importación (las previas no las actualiza) tenga por detecto esa opción habilitada (prestashop 1.7.7.4) *** 1) Añadir bajo el nombre del producto en el fichero /themes/classic/templates/catalog/product.tpl Antes de {block name='product_prices'} agregar código: {block name='product_condition'} {if $product.condition} <div class="product-condition"> <label class="label">{l s='Condition' d='Shop.Theme.Catalog'} </label> <link itemprop="itemCondition" href="{$product.condition.schema_url}"/> <span>{$product.condition.label}</span> </div> {/if} {/block} 2) Adicionalmente cambiar a true lo siguiente: En classes/product.php a true (está en false por defecto): /** @var bool Will the condition select should be visible for this product ? */ public $show_condition = true; 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