Hola @miriam24, @lucas_tech,
@lucas_tech tiene razón. El problema que reportas no reside únicamente en la interfaz del editor TinyMCE, sino en la capa de persistencia de PrestaShop. La plataforma utiliza reglas de sanitización bastante estrictas (especialmente a través de HTMLPurifier y métodos como Validate::isCleanHtml()) que se aplican antes de que los datos se guarden en la base de datos, independientemente del editor que uses en el front-end del Back Office. Esto es una medida de seguridad importante para evitar inyección de código malicioso.
Tu intento de modificar AdminProductsController solo afecta la presentación del campo, pero no la lógica de validación. Para permitir HTML más complejo, tendrías que sobrescribir no solo la inicialización del editor, sino también los métodos de validación que se ejecutan al guardar. Esto implica una sobrescritura más profunda de clases como Product (para validateField()) o incluso AdminProductsController en sus métodos processUpdate() o processAdd(). Es un camino complejo y propenso a errores y fallos de seguridad si no se hace correctamente.
Por ejemplo, para modificar cómo se valida el HTML, tendrías que anular el método isCleanHtml de la clase Validate, lo cual es extremadamente delicado:
class Validate extends ValidateCore
{
public static function isCleanHtml($html, $allow_iframe = false)
{
// Esto es un ejemplo de dónde tendrías que intervenir.
// NO se recomienda relajar las reglas de seguridad sin un control estricto.
// Una solución real implicaría configurar HTMLPurifier con reglas muy específicas.
if (strpos($html, '<iframe') !== false) {
return true; // Solo como ejemplo, esto es muy inseguro.
}
Como ves, personalizar estas reglas de forma segura y consistente es complejo y requiere un mantenimiento constante con cada actualización de PrestaShop. Para evitar que el editor elimine etiquetas personalizadas de manera más robusta y sin tocar el core ni arriesgar la seguridad, te recomiendo usar un módulo dedicado. Estos módulos suelen sobrescribir la lógica de inicialización del editor y también ajustan las reglas de sanitización de forma segura para permitir el contenido que necesitas.