prestasafe Posted October 28, 2013 Share Posted October 28, 2013 (edited) Bonjour à tous. Voila je suis en train de créer un petit module et après avoir lutté à me documenter, j'ai suivi le tuto de prestarocket et télécharger le super module d'exemple de jDanse. Donc, dans mon module, j'arrive à crée du contenu tout se passe à merveille jusque ici, mais lorsque que je veux éditer ce dernier, mon textarea m'affiche ceci Warning: htmlspecialchars() expects parameter 1 to be string, array given in /Users/guillaume/Sites/prestashop_156/tools/smarty/plugins/modifier.escape.php on line 58 Dans controller voici le tableau concernant ce textarea array( 'type' => 'textarea', 'label' => $this->l('Contenu:'), 'name' => 'txt', 'autoload_rte' => true, 'size' => 40, ) Avec ou sans tinyMce c'est la même chose. Voici également le code de mon Model public static $definition = array( 'table' => 'news', 'primary' => 'id_news', 'multilang' => true, 'fields' => array( // Lang fields 'id_news' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'), 'title' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'required' => true, 'size' => 64), 'txt' => array('type' => self::TYPE_STRING,'lang' => true), ), ); Donc si quelqu'un à un idée je suis preneur. Merci à vous. PS: je suis sous Prestashop 1.5.6 Edited October 31, 2013 by guigui23 (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted October 29, 2013 Share Posted October 29, 2013 Bonjour, Par facilité, serait-il possible d'avoir le code du module (si il n'est pas sensible) éventuellement par mail afin de pouvoir installer celui-ci et voir l'erreur en action ? Mais, là ainsi, je ne vois pas ce qui peut poser ce soucis. Link to comment Share on other sites More sharing options...
Whoami Posted October 30, 2013 Share Posted October 30, 2013 Bonjour, Je tente au hasard sans le code : le field "txt" de la definition table ne devrait-il pas être en TYPE_HTML au lieu de TYPE_STRING ? Ex : array('type' => self::TYPE_HTML, 'validate' => 'isCleanHtml') Link to comment Share on other sites More sharing options...
prestasafe Posted October 30, 2013 Author Share Posted October 30, 2013 J'avais déjà essayé avec TYPE_HTML mais ça ne change rien, En local j'ai le message, en ligne non. J'ai remarqué que l'UPDATE se fait bien mais par exemple si je met un <p>TEST</p> dans le tinyMCE (en mode HTML) dans la base le résultat est sans HTML donc TEST. je comprends pas du tout, le MVC de Prestashop est bien mais on passe plus de temps à chercher de la doc et à débugger qu'autre chose. Link to comment Share on other sites More sharing options...
prestasafe Posted October 31, 2013 Author Share Posted October 31, 2013 \0/ J'ai enfin trouvé la solution !!!!!! dans le controller j'avais oublié de mettre 'lang' => true, au niveau de mon textarea, et la bizzarement tout est ok ! Ouuuuf un poids en moins, en tous cas merci à vous pour votre aide précieuse ! 1 Link to comment Share on other sites More sharing options...
Whoami Posted October 31, 2013 Share Posted October 31, 2013 "Bizarrement", en fait non c'est plutôt logique. Dans la definition table, le champ 'txt' étant définit comme un champ multilangue, il faut bien que la définition de ce champ dans les helpers soit elle aussi paramétrée en multilangue. Le fait que le message apparaisse en local et pas en ligne doit - peut-être - venir de la configuration des langues (actives ou non) ? Néanmoins, l'important étant que ça soit résolu et qu'on peut en profiter pour rajouter une couche sur la documentation qui est bien, mais pas encore assez précise (un exemple d'une implémentation de chaque helper avec tous les types de champs + multilangue serait la bienvenue par exemple). Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now