hallowman Posted November 25, 2013 Share Posted November 25, 2013 (edited) Bonsoir j'ai trouvé un bug qui m'embête. Pour le module Editeur de page d'accueil tout fonctionne bien. Par contre quand je vais dans Préférence/CMS je creer une page. J'ajoute une image avec un sorvol ( avancé /image alternativ ) au moment ou je veux save j'ai un message d'erreur : [PrestaShopException] Property CMS->content is not validat line 878 in file classes/ObjectModel.php 872. 873. $message = $this->validateField($field, $value, $id_lang);874. if ($message !== true)875. {876. if ($die)877. throw new PrestaShopException($message);878. return $error_return ? $message : false;879. }880. }881. }882. ObjectModelCore->validateFieldsLang - [line 296 - classes/ObjectModel.php] - [0 Argument] ObjectModelCore->getFieldsLang - [line 634 - classes/ObjectModel.php] - [0 Argument] ObjectModelCore->update - [line 75 - classes/CMS.php] - [1 Arguments] CMSCore->update - [line 334 - controllers/admin/AdminCmsController.php] - [0 Argument] AdminCmsControllerCore->postProcess - [line 121 - controllers/admin/AdminCmsContentController.php] - [0 Argument] AdminCmsContentControllerCore->postProcess - [line 158 - classes/controller/Controller.php] - [0 Argument] ControllerCore->run - [line 348 - classes/Dispatcher.php] - [0 Argument] DispatcherCore->dispatch - [line 53 - admin28/index.php] - [0 Argument] là c'est en version 1.5.6.1 En version 1.5.5 j'ai un bandeau rouge : Le champ contenu (Français (French)) est invalide.. Comment corriger celà ? Edited November 25, 2013 by hallowman (see edit history) Link to comment Share on other sites More sharing options...
Gregory Roussac Posted November 26, 2013 Share Posted November 26, 2013 Bonjour, Certaines fonctions sont interdites dans PrestaShop par mesure de sécurité. https://github.com/PrestaShop/PrestaShop/blob/bootstrap/classes/Validate.php#L392 Il y a pas mal de posts à ce sujet, il faut surcharger cette fonction si vous voulez autoriser ces fonctions javascripts. Cordialement Link to comment Share on other sites More sharing options...
hallowman Posted January 17, 2014 Author Share Posted January 17, 2014 OK merci mais on fais comment ? Link to comment Share on other sites More sharing options...
aless34 Posted April 13, 2014 Share Posted April 13, 2014 Bonjour avez vous trouvez une solution ? j'ai exactement le même problème Link to comment Share on other sites More sharing options...
hallowman Posted April 13, 2014 Author Share Posted April 13, 2014 toujours pas Link to comment Share on other sites More sharing options...
Creastyle Posted October 14, 2014 Share Posted October 14, 2014 Si vous avez trouvé vous avez bien de la chance, moi je n'y arrive pas malheureusement la communauté prestashop est beaucoup moins active que certaines autres Link to comment Share on other sites More sharing options...
_tech Posted October 14, 2014 Share Posted October 14, 2014 Bonjour, Par "surcharger" la fonction, je pense que Gregory est assez précis sur la solution mais pour un développeur. Si vous n'êtes pas développeur vous risquez d'avoir du mal à surcharger la classe pour autoriser les fonctions javascript (si c'est ce que vous souhaitez). Si vous avez trouvé vous avez bien de la chance, moi je n'y arrive pas malheureusement la communauté prestashop est beaucoup moins active que certaines autres Link to comment Share on other sites More sharing options...
Creastyle Posted October 14, 2014 Share Posted October 14, 2014 oui c'est ce que j'aimerais faire et ce n'est pas faute de chercher , j'ai suivi des pages et des pages de solutions sur le net mais rien ne semble se rapprocher de cette solution, je ne comprend pas pourquoi ils ont supprimé cette fonction très utiles qui était dans la version 1.5 .... Link to comment Share on other sites More sharing options...
hallowman Posted October 14, 2014 Author Share Posted October 14, 2014 j'image qu'il faut créer un fichier ObjectModel.php dans le répertoire /override/classes. et lui coller le contenu de cette page : https://github.com/PrestaShop/PrestaShop-1.4/blob/master/classes/ObjectModel.php faut voir et tester c'est ça qu'il appelle Surcharger une classe ( ou un module ) ce qui permet de faire ses propres modifications sans toucher au fichier du coeur de prestashop Link to comment Share on other sites More sharing options...
Creastyle Posted October 15, 2014 Share Posted October 15, 2014 oui je connais cette manip, mais le lien qu'il a donné ne fonctionne pas ... Merci hallowman j'ai testé ça ne marche pas non plus Link to comment Share on other sites More sharing options...
Creastyle Posted October 15, 2014 Share Posted October 15, 2014 J'ai résolu le problème alors j'espère que ca va aider quelques personnes sur la 1.6 en tout cas ça fonctionne . Voilà ce que j'ai fait ( ce n'est pas le top mais ça marche ) . Dans le dossier js j'ai supprimé complètement le dossier tiny_mce et je l'ai remplacé par le même mais de la version 1.5.9 de prestashop. Ensuite j'ai édité le fichier validate.php dans le dossier classe et j'ai remplacer public static function isCleanHtml($html, $allow_iframe = false) { $events = 'onmousedown|onmousemove|onmmouseup|onmouseover|onmouseout|onload|onunload|onfocus|onblur|onchange'; $events .= '|onsubmit|ondblclick|onclick|onkeydown|onkeyup|onkeypress|onmouseenter|onmouseleave|onerror|onselect|onreset|onabort|ondragdrop|onresize|onactivate|onafterprint|onmoveend'; $events .= '|onafterupdate|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onmove'; $events .= '|onbounce|oncellchange|oncontextmenu|oncontrolselect|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondeactivate|ondrag|ondragend|ondragenter|onmousewheel'; $events .= '|ondragleave|ondragover|ondragstart|ondrop|onerrorupdate|onfilterchange|onfinish|onfocusin|onfocusout|onhashchange|onhelp|oninput|onlosecapture|onmessage|onmouseup|onmovestart'; $events .= '|onoffline|ononline|onpaste|onpropertychange|onreadystatechange|onresizeend|onresizestart|onrowenter|onrowexit|onrowsdelete|onrowsinserted|onscroll|onsearch|onselectionchange'; $events .= '|onselectstart|onstart|onstop'; if (preg_match('/<[\s]*script/ims', $html) || preg_match('/('.$events.')[\s]*=/ims', $html) || preg_match('/.*script\:/ims', $html)) return false; if (!$allow_iframe && preg_match('/<[\s]*(i?frame|form|input|embed|object)/ims', $html)) return false; return true; } par public static function isCleanHtml($html, $allow_iframe = false) { return true; } et pour finir j'ai désactivé la fonction "Utiliser la librairie HTMLPurifier" dans le backoffice préférences -> paramètres généraux -> Utiliser la librairie HTMLPurifier -> NON Maintenant je peux placer des images dans mes descriptions de catégories ou sur mes pages cms avec des images de survol comme je le souhaite .... 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