Hola @nuriadeco y @rubendigital,
@rubendigital tiene razón, la variable {$product.is_bestseller} no es estándar en el contexto de product.tpl. La forma correcta de manejar esto en PrestaShop 1.7.0.5 es basarse en las características del producto, que sí se pasan a la plantilla. Si has creado características como 'Insignia' con valores como 'Bestseller' o 'Eco', puedes iterar sobre ellas o buscarlas.
También es fundamental lo que comenta @rubendigital sobre la caché de Smarty. Ve a Parámetros avanzados > Rendimiento y asegúrate de que la opción 'Compilación de las plantillas' esté en 'Recompilar las plantillas si han sido actualizadas' o 'Forzar la compilación' mientras desarrollas. Luego puedes volver a 'Nunca recompilar los archivos de plantilla' en producción.
Aquí te muestro cómo podrías modificar tu product.tpl en el tema hijo para buscar y mostrar una insignia basada en una característica del producto. Asumo que tienes una característica llamada 'Insignia Promocional' y sus valores son 'Bestseller' o 'Eco':
<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}"
>
{if !empty($product.features)}
{foreach from=$product.features item=feature}
{if $feature.name == 'Insignia Promocional'}
{if $feature.value == 'Bestseller'}
Con este código, primero comprobamos si el producto tiene características (!empty($product.features)). Luego iteramos sobre cada característica. Si encontramos una característica con el nombre 'Insignia Promocional', entonces comprobamos su valor y mostramos la insignia CSS correspondiente. Asegúrate de tener las clases CSS badge-bestseller y badge-eco definidas en tu archivo custom.css de tu tema hijo para darles estilo y posicionarlas correctamente (por ejemplo, con position: absolute;).
Prueba esto y no olvides forzar la compilación.