Hola @patriciadigital y @ivan92,
@patriciadigital, tienes razón en que hookDisplayProductExtraContent es solo la parte de visualización. Para gestionar contenido dinámico por producto, necesitas ir un paso más allá de simplemente mostrar. Esto implica:
- Una tabla de base de datos para almacenar el contenido de cada pestaña, asociada a un
id_product.
- Un formulario en el Back Office que se integre en la página de edición de producto para que puedas guardar ese contenido.
- Hooks adicionales para guardar esos datos cuando se actualiza el producto.
Tu snippet del hook está bien para la parte frontal, pero el verdadero desafío está en el backend. Un módulo completo para esta funcionalidad debería tener una estructura similar a esto para la gestión de datos:
// modules/myextratabs/myextratabs.php
class MyExtraTabs extends Module
{
// ... constructor, displayName, description ...
public function install()
{
return parent::install() &&
$this->registerHook('displayProductExtraContent') &&
$this->registerHook('actionProductUpdate') && // Hook para guardar datos desde BO
Db::getInstance()->execute('CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'my_custom_tabs` (
Como puedes ver, requiere bastante código para manejar la persistencia de datos y la interfaz de usuario en el Back Office, además de la lógica del frontend. Intentar construir esto desde cero puede llevar mucho tiempo y ser propenso a errores. Para una solución más mantenible y con todas las funcionalidades de gestión desde el BO, la mejor opción suele ser un módulo dedicado. Te recomiendo echar un vistazo a esta solución para pestañas extra para productos que ya gestiona todo esto de forma profesional y te ahorrará muchos dolores de cabeza, especialmente con futuras actualizaciones de PrestaShop 8.2.2 o superiores.