Hola @raul_bcn,
Confirmado, para PrestaShop 1.7.6.9 con el tema Classic, estamos hablando de plantillas Smarty (.tpl) y no de Twig o Bootstrap 5. El enfoque para personalizar el layout, como ya te han comentado, es mediante un tema hijo y la redefinición de bloques Smarty.
El método que has intentado no funciona porque {$smarty.block.parent} en el bloque page_content inserta todo el contenido del bloque original de una vez. Para reordenar los sub-bloques (como el nombre, precio, descripción corta, etc.) que están dentro de page_content, debes redefinir completamente el bloque page_content en tu tema hijo y luego especificar cada sub-bloque en el nuevo orden. Para que cada sub-bloque conserve su contenido original, debes usar {$smarty.block.parent} dentro de cada uno de ellos.
Aquí tienes el código correcto para tu themes/tu_tema_hijo/templates/catalog/product.tpl para mover la descripción corta debajo del precio:
{extends file='parent:catalog/product.tpl'}
{block name='page_content' prepend}
{* Reordenamos los sub-bloques dentro de page_content para PS 1.7.6.9 *}
{block name='product_flags'}
{$smarty.block.parent} {* Mantiene el contenido original de las flags (ej. 'Nuevo') *}
{/block}
{block name='page_header_container'}
{$smarty.block.parent} {* Mantiene el contenido original del título del producto *}
{/block}
{block name='product_prices'}
Explicación de los cambios:
{extends file='parent:catalog/product.tpl'}: Esto es correcto y asegura que tu plantilla hijo hereda del padre.
{block name='page_content' prepend}: Redefinimos el bloque principal page_content. El prepend en este caso no es estrictamente necesario si vamos a listar todos los sub-bloques explícitamente, pero es una buena práctica para asegurar que nuestro bloque tiene prioridad.
- Dentro de este
page_content, listamos los sub-bloques en el orden que queremos que aparezcan. Para cada sub-bloque (como product_flags, page_header_container, product_prices, etc.), si queremos que muestre su contenido original del tema padre, debemos incluir {$smarty.block.parent} dentro de él.
- En el caso de
product_description_short, lo hemos movido a la posición deseada. Si no quieres que aparezca dos veces, asegúrate de que el {$smarty.block.parent} del page_content principal no esté, y que cada sub-bloque que quieras mantener esté explícitamente definido y ordenado con su {$smarty.block.parent}.
Con este código, la descripción corta se renderizará en la nueva posición. Recuerda limpiar la caché de Smarty en Parámetros Avanzados > Rendimiento después de guardar los cambios.