Bonjour @leapro et @pierreweb52,
@pierreweb52 a raison, le problème se situe à deux niveaux distincts : l'éditeur en lui-même (TinyMCE) et la validation / nettoyage HTML côté serveur par la classe Product. L'option autoload_rte ne concerne que l'initialisation JavaScript de TinyMCE sur le champ.
Pour empêcher le nettoyage HTML agressif, il faut en effet modifier le comportement de validation du modèle Product. La validation isCleanHtml est définie dans la $definition de la classe Product.
Une méthode pour contourner ce nettoyage pour le champ description est de surcharger la méthode validateFields de la classe Product via un module. Cela te permet de retirer la contrainte isCleanHtml spécifiquement pour ce champ, avant que la validation parent ne s'exécute. Garde à l'esprit que cela peut avoir des implications de sécurité si le contenu n'est pas correctement filtré ailleurs.
Voici comment tu pourrais faire cela dans un module personnalisé (par exemple, mymodule) en créant un fichier d'override :
// modules/mymodule/override/classes/Product.php
class Product extends ProductCore
{
/**
* @see ObjectModel::validateFields()
*/
public function validateFields($die = true, $errors = null)
{
// Récupérer la définition originale des champs
$definition = self::getDefinition('Product');
Après avoir ajouté ce fichier dans modules/mymodule/override/classes/Product.php et réinitialisé les caches de PrestaShop (via Paramètres Avancés > Performances), PrestaShop utilisera cette version de la classe Product.
Pour la partie remplacement de l'éditeur TinyMCE par Quill, il faudra ensuite intervenir avec du JavaScript dans votre thème enfant ou un module frontend. Il s'agira de désactiver l'initialisation de TinyMCE sur le textarea de description (souvent en retirant la classe product-description-tinymce ou l'attribut data-tinymce ajouté par le ProductType Symfony) et d'initialiser Quill sur ce même textarea.