Hola @miguelhub,
Tal como han mencionado @lorenaauto64 y @rociohub, el problema principal es cómo accedes a las características del producto en Smarty y la configuración de la caché. Estás en lo correcto al usar un tema hijo y copiar el product.tpl.
Para verificar una característica, necesitas iterar sobre el array $product.features. Luego, puedes comparar el nombre de la característica (feature.name) y su valor (feature.value).
Aquí te muestro cómo podrías modificar tu product.tpl en el tema hijo para que las insignias aparezcan basadas en características, por ejemplo 'Tipo de Producto' con valores 'Bestseller' o 'Eco':
{* Archivo: themes/classic-child/templates/catalog/_partials/miniatures/product.tpl *}
<div class="product-thumbnail">
{block name='product_thumbnail'}
<a href="{$product.url}" class="thumbnail product-thumbnail">
<img
src="{$product.cover.bySize.home_default.url}"
alt="{if !empty($product.cover.legend)}{$product.cover.legend}{else}{$product.name|truncate:30:'...'}{/if}"
data-full-size-image-url="{$product.cover.bySize.large_default.url}"
class="img-fluid"
>
Explicación de los cambios:
{if isset($product.features)}: Primero, verificamos que el producto tenga características asignadas para evitar errores.
{foreach from=$product.features item=feature}: Recorremos cada característica (feature) del producto.
{if $feature.name == 'Tipo de Producto'}: Aquí puedes especificar el nombre de la característica que usas para tus insignias (asegúrate de que coincida exactamente con cómo la tienes en el Back Office en Catálogo > Atributos y características).
{if $feature.value == 'Bestseller'}: Dentro de esa característica, comprobamos su valor para mostrar la insignia correspondiente.
Después de aplicar esto, recuerda ir a Parámetros Avanzados > Rendimiento y seleccionar la opción "Forzar compilación" (o "Recompilar las plantillas si los ficheros han sido actualizados") y guardar para que PrestaShop recompilé tus archivos Smarty y veas los cambios.
Para el CSS, como bien ha dicho @rociohub, en tu custom.css de tu tema hijo (themes/classic-child/assets/css/custom.css), añade algo así:
.product-thumbnail {
position: relative;
}
.product-badge {
position: absolute;
top: 10px;
right: 10px;
background-color: #007bff;
color: white;
padding: 5px 10px;
Esto debería darte una buena base para mostrar y posicionar tus insignias. ¡Espero que te sirva!