daYmo Posted January 31, 2012 Share Posted January 31, 2012 Bonjour, eh mince ... ma longue explication perdue ! Je recommence... Le but est de permettre au référenceur de mettre des descriptions en html tout comme cela existe pour les fabricants entre autre. En effet, il est bon d'avoir un contenu personnalisé et syntaxé (h1, h2, p, etc.) sur les diverses pages du sites à savoir accueil, produit, catégorie, fabricant, cms, ... Ca existe pour tout sauf pour les catégories ...je ne comprends pas pourquoi ! Pour cela il faut donc : - mettre l'éditeur HTML dans le back office - éviter les balises html dans l'interface de gestion dans le tableau donnant la liste des catégories, sous catégories comprenant la description (pour les fabricants la description n'est tout simplement pas affichée dans le tableau... çà peut aussi etre une solution!) >>>>>>>>> Mettrel'éditeur HTML dans le back office : simple : ---Modifier AdminCategories.php classe DisplayForm ajouter la class rte et le code pour tiny (attention il faut rouvrir le echo pour le label image ensuite bien sûr ) : echo ' <div class="lang_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $this->_defaultFormLanguage ? 'block' : 'none').'; float: left;"> <textarea name="description_'.$language['id_lang'].'" class="rte" cols="48" rows="10" >'.htmlentities(stripslashes($this->getFieldValue($obj, 'description', $language['id_lang'])), ENT_COMPAT, 'UTF-8').'</textarea> </div>'; echo ' <p class="clear"></p> </div> '; // TinyMCE global $cookie; $iso = Language::getIsoById((int)($cookie->id_lang)); $isoTinyMCE = (file_exists(_PS_ROOT_DIR_.'/js/tiny_mce/langs/'.$iso.'.js') ? $iso : 'en'); $ad = dirname($_SERVER["PHP_SELF"]); echo ' <script type="text/javascript"> var iso = \''.$isoTinyMCE.'\' ; var pathCSS = \''._THEME_CSS_DIR_.'\' ; var ad = \''.$ad.'\' ; </script> <script type="text/javascript" src="'.__PS_BASE_URI__.'js/tiny_mce/tiny_mce.js"></script> <script type="text/javascript" src="'.__PS_BASE_URI__.'js/tinymce.inc.js"></script>'; --- fichier Category : modifier le type du champ description en isString pour que le html soit pris en compte dans la validation de l'update : protected $fieldsValidateLang = array('name' => 'isCatalogName', 'link_rewrite' => 'isLinkRewrite', 'description' => 'isString', 'meta_title' => 'isGenericName', 'meta_description' => 'isGenericName', 'meta_keywords' => 'isGenericName'); modifier la fonction getTranslationsFieldsChild par celle-ci public function getTranslationsFieldsChild() { $fieldsArray = array('name', 'description', 'link_rewrite', 'meta_title', 'meta_keywords', 'meta_description'); $fields = array(); $languages = Language::getLanguages(false); $defaultLanguage = Configuration::get('PS_LANG_DEFAULT'); foreach ($languages as $language) { $fields[$language['id_lang']]['id_lang'] = $language['id_lang']; $fields[$language['id_lang']][$this->identifier] = (int)($this->id); foreach ($fieldsArray as $field) { if (!Validate::isTableOrIdentifier($field)) die(Tools::displayError()); /* Check fields validity */ if (isset($this->{$field}[$language['id_lang']]) AND !empty($this->{$field}[$language['id_lang']])) $fields[$language['id_lang']][$field] = pSQL($this->{$field}[$language['id_lang']], true); elseif (in_array($field, $this->fieldsRequiredLang)) $fields[$language['id_lang']][$field] = pSQL($this->{$field}[$defaultLanguage]); else $fields[$language['id_lang']][$field] = ''; } $fields[$language['id_lang']]['description'] = (isset($this->description[$language['id_lang']])) ? pSQL($this->description[$language['id_lang']], true) : ''; } return $fields; } >>>>>>> problème pour affichage de la description dans le back office 1) tout simplement ne pas l'afficher dans le tableau de la liste des catégorie En enlevant dans AdminCategories.php le champ description du $this->fieldsDisplay 2) en enlevant le code html dans le tableau car c'est pas pris en compte actuellement dans le coeur de prestashop je ne sais pas pourquoi car il n'y a jamais de html à afficher dans les tableaux de liste de produit, de liste de fabricant, de liste de categories il suffit de modifier le fichier AdminTab.php et d'utiliser la fonction strip-tags ligne 1530 pour la v1.4.5.1 de PS (release 8991 $ du fichier) $echo = ($key == 'price' ? round($tr[$key], 2) : isset($params['maxlength']) ? Tools::substr(strip_tags($tr[$key]), 0, $params['maxlength']).'...' : strip_tags($tr[$key])); >>>>>>> coté client l'affichage est déjà pris en compte ... mais c'était une simple chaine sans possibilité de mettre des balises pour la description. Voilou si çà peut aider quelqu'un.. voir si çà peut etre intégré à PS ! Du coup on peut avec la dernière modification ajouter la description_short dans la liste des fabricants. Bye AdminCategories.php AdminTab.php Category.php 3 Link to comment Share on other sites More sharing options...
Steeve.c Posted February 10, 2012 Share Posted February 10, 2012 Merci beaucoup, ca marche impecable sur mon prestashop 1.4.4.1 Petit ajout Pour ne plus afficher l'image de base de la categorie, et ainsi mettre en forme une nouvelle image en html, il faut modifier dans le fichier category.tpl de votre template {if $category->id_image} <img src="{$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category')}" alt="{$category->name|escape:'htmlall':'UTF-8'}" title="{$category->name|escape:'htmlall':'UTF-8'}" id="categoryImage" /> {/if} par {if $category->id_image} <!--<img src="{$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category')}" alt="{$category->name|escape:'htmlall':'UTF-8'}" title="{$category->name|escape:'htmlall':'UTF-8'}" id="categoryImage" />--> {/if} Link to comment Share on other sites More sharing options...
Steeve.c Posted February 10, 2012 Share Posted February 10, 2012 Autre chose aussi Lorsque vous ecrivez votre code html pour décrire la catégorie, ne faite pas de saut a la ligne pour eclaircire le code, car ils seront retrenscris en saut de ligne Exemple a ne pas faire <table> <tr> <td> <img src='ttrucbidul'/> </td> <td> Le text </td> </tr> </table> A la place il faut l'ecrire ainsi <table><tr><td><img src='ttrucbidul'/></td><td>Le text</td></tr></table> Link to comment Share on other sites More sharing options...
ekoter Posted February 10, 2012 Share Posted February 10, 2012 Bonjour et merci pour ce post qui m'a été très utile. J'ai juste un petit souci: quand on survole le nom de la catégorie dans le menu, on voit le code html je n'ai pas trouvé ou il fallait le modifier. Une idée? Guillaume Link to comment Share on other sites More sharing options...
ekoter Posted February 13, 2012 Share Posted February 13, 2012 personne n'a d'idée? En fait on voit toutes les balises html côté front office au survol de la souris sur la categorie, un peu génant quand même. J'ai essayé de chercher dans category.php mais je m'y suis un peu perdu Link to comment Share on other sites More sharing options...
divers972 Posted February 15, 2012 Share Posted February 15, 2012 Ca m'intéresse aussi... Link to comment Share on other sites More sharing options...
Cédric Girard Posted February 15, 2012 Share Posted February 15, 2012 Belle contrib' Pour ceux que ça intéresse, je vais mettre à disposition la même chose mais pour les versions antérieures (c'est un peu différent, bien que le principe soit le même) Link to comment Share on other sites More sharing options...
communica Posted March 1, 2012 Share Posted March 1, 2012 bonjour, Cela serais exactement ce que je recherche ^^ cela fonctionne il sur presta 1.4.6.2 avant que je me lance dans les changements svp ? Link to comment Share on other sites More sharing options...
Staccato Posted March 12, 2012 Share Posted March 12, 2012 Pour la version 1.4x nulle besoin de modifier les classes de validation, il suffit de modifier la classe DB. Je vous renvois sur l'excellent tutoriel que voici : http://www.prestashop-blog.com/2011/09/09/astuce-prestashop-1-4-x-comment-autoriser-des-balises-html-dans-les-descriptions/ 1 Link to comment Share on other sites More sharing options...
webroad95 Posted June 11, 2012 Share Posted June 11, 2012 bonjour, cela fonctionne t'il avec la version Version 1.3.7.0? Merci Link to comment Share on other sites More sharing options...
panatan Posted August 30, 2012 Share Posted August 30, 2012 Bonjour, Je remonte ce post car il est mentionné que l'on peut simplement modifier la classe DB pour obtenir l'effet désiré mais chez moi cela ne fonctionne pas (V1.4.9). Doit-on impérativement passer par la première modif indiquée dans ce post pour ajouter une simple balise <b></b> dans sa description ? Merci Link to comment Share on other sites More sharing options...
panatan Posted August 30, 2012 Share Posted August 30, 2012 Bon ben je me réponds Oui éditer la classe Db en rajoutant la balise souahitée dans la classe fonctionne parfaitement... Link to comment Share on other sites More sharing options...
sebgy Posted September 24, 2012 Share Posted September 24, 2012 salut Je viens de faire la manip pour les trois fichiers sauf que j'obtiens une erreur à chaque fois que je veux enregistrer un texte: le champ id_parent est invalide si quelqu'un à la solution à ce problème Link to comment Share on other sites More sharing options...
materiel de sablage Posted October 19, 2012 Share Posted October 19, 2012 Merci pour ce post , on se demande pourquoi ce n'est pas comme ça d'origine i Link to comment Share on other sites More sharing options...
Acidy Posted October 28, 2012 Share Posted October 28, 2012 (edited) Bonjour, à partir de la version 1.5 apparemment pour insérer du code html dans la description des catégories on peut ajouter 'autoload_rte' => true, à la ligne 405 du fichier AdminCategoriesController.php. Par contre, tout comme le dis ekoter dans son post plus haut; le html apparaît au survol de la souris sur le nom de la catégorie. Quelqu’un sait il comment modifier cela? edit: ->je me réponds moi même: il faut modifier le fichier category-tree-branch.tpl du dossier modules/blockcategories et remplacer title="{$node.desc|escape:'htmlall':'UTF-8'}" par title="{$node.desc|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}" Peut être faut il également modifier le category-tree-branch.tpl du dossier themes Edited November 5, 2012 by Acidy (see edit history) 1 Link to comment Share on other sites More sharing options...
marinabru Posted November 4, 2012 Share Posted November 4, 2012 Bonjour Acidy, Est ce que tu n'a fait que modifier ce fichier AdminCategoriesController.php? ou as tu aussi fait les autres manipulations? Ou se trouve ce fichier (ainsi que les autres dont on parle dans ce post: AdminCategories.php / AdminTab.php et Category.php), je n'arrive pas a le repérer! Merci d'avance pour votre aide! Link to comment Share on other sites More sharing options...
Acidy Posted November 4, 2012 Share Posted November 4, 2012 Bonjour, comme son nom l'indique, le fichier AdminCategoriesController.php se trouve dans le dossier controller/admin. Je n'ai modifié que ce fichier. Cdlt, Acidy Link to comment Share on other sites More sharing options...
marinabru Posted November 4, 2012 Share Posted November 4, 2012 (edited) Je sais pas si je regarde au bon endroit, mais c'est bien dans le dossier controllers (qui se trouve a la racine du site)? parce que moi dans ce dossier je n'ai que des fichiers, et pas de dossier admin... ou je cherche pas au bon endroit? Je travaille sur la version 1.4.8.2 de Prestashop (je suis suis encore un peu débutante!) Merci d'avance. Edited November 4, 2012 by marinabru (see edit history) Link to comment Share on other sites More sharing options...
Acidy Posted November 4, 2012 Share Posted November 4, 2012 Oui c'est bien dans ce dossier par contre je parle de la 1.5.2. L'arborescence est sans doute différente dans les versions 1.4.x et je pense que ma solution ne marche qu'à partir des versions 1.5.x. Je fait un edit de mon post précédent pour le préciser Link to comment Share on other sites More sharing options...
marinabru Posted November 4, 2012 Share Posted November 4, 2012 Dommage! T'aurais pas une idée ou je pourrais modifier cette option dans la version 1.4.x? sinon je vais continuer ma recherche... Link to comment Share on other sites More sharing options...
Acidy Posted November 5, 2012 Share Posted November 5, 2012 (edited) Voici la solution à ma question de balise html au survol des catégories: (j'ai édité mon post original pour plus de lisibilité) il faut modifier le fichier category-tree-branch.tpl du dossier modules/blockcategories et remplacer title="{$node.desc|escape:'htmlall':'UTF-8'}" par title="{$node.desc|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}" Peut être faut il également modifier le category-tree-branch.tpl du dossier themes Edited November 5, 2012 by Acidy (see edit history) Link to comment Share on other sites More sharing options...
EtapDesign Posted November 10, 2012 Share Posted November 10, 2012 (edited) Bonsoir, tout marche parfaitement mais il y a la balise h1 qui se trouve également dans le menu à gauche et même en faisant les modifications dans le category-tree-branch.tpl du thème ainsi que du module à la racine du site, cela s'affiche quand même est ce normal? Merci d'avance pour vos réponses. Cordialement. Edited November 10, 2012 by EtapDesign (see edit history) Link to comment Share on other sites More sharing options...
EtapDesign Posted November 10, 2012 Share Posted November 10, 2012 En fait votre solution n'est possible que dans le 1.5...vous n'avez pas d'idée pour la 1.4.8.2? Dans l'attente de vous lire. Link to comment Share on other sites More sharing options...
Acidy Posted November 10, 2012 Share Posted November 10, 2012 Bonsoir, Cela devrait marcher avec les versions 1.4.x, cf le dernier commentaire (tout en bas de la page) de ce tutoriel (indiqué en début de topic par Staccato): http://www.prestashop-blog.com/2011/09/09/astuce-prestashop-1-4-x-comment-autoriser-des-balises-html-dans-les-descriptions/ Link to comment Share on other sites More sharing options...
EtapDesign Posted November 11, 2012 Share Posted November 11, 2012 D'accord, moi il ne s'enlève pas de la category-tree-branch en fait, c'est ça mon soucis principal...par contre vous dites de faire une modification comme cela : title="{$node.desc|escape:'htmlall':'UTF-8'}" par title="{$node.desc|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}" ALors que dans son fil de discussion par: {$node.desc|strip_tags|escape:html:’UTF-8′} Qui n'est pas la même écriture. Link to comment Share on other sites More sharing options...
yonis2013 Posted March 11, 2013 Share Posted March 11, 2013 salut Je viens de faire la manip pour les trois fichiers sauf que j'obtiens une erreur à chaque fois que je veux enregistrer un texte: le champ id_parent est invalide si quelqu'un à la solution à ce problème J'ai également le meme probleme, quelqu'un peut il nous éclairer ? Merci par avance. Link to comment Share on other sites More sharing options...
yonis2013 Posted March 11, 2013 Share Posted March 11, 2013 Peux tu me faire une explication plus détaillée stp. Merci. Link to comment Share on other sites More sharing options...
Patrick_64 Posted March 25, 2013 Share Posted March 25, 2013 (edited) Bonjour à tous, je suis en 1.4.6.2 et la manip fonctionne très bien. par contre impossible de modifier le TPL pour enlever le code HTML de la balise TITLE. j'ai bien modifier les lignes du category-tree-branch.tpl et du fichier du thème, mais toujours pareil. De plus, j'ai modifié le category-tree-branche du module ET du thème, et rien ne fonctionne. J'ai vidé le cache dans tools->smarty_v2->compile mais rien n'y fait J'ai aussi carrément supprimé le "title='. . . ." et il s'affiche toujours. C'est où qu'il est ??? help help help ! ! ! Merci Patrick Edited March 25, 2013 by Patrick_64 (see edit history) Link to comment Share on other sites More sharing options...
chalkeia Posted May 16, 2013 Share Posted May 16, 2013 Pour la version 1.4x nulle besoin de modifier les classes de validation, il suffit de modifier la classe DB. Je vous renvois sur l'excellent tutoriel que voici : http://www.prestasho...s-descriptions/ Ca fonctionne nickel avec 1.4.9, cependant, j'ai le même soucis que Patrick_64, à savoir impossible de me débarrasser du code html dans la description en survol du bloc catégorie. J'ai modifié le category-tree-branch.tpl comme indiqué sans succès que ce soit dans mon thème ou dans le dossier modules à la racine Link to comment Share on other sites More sharing options...
berserk Posted May 16, 2013 Share Posted May 16, 2013 Pour la version 1.4x nulle besoin de modifier les classes de validation, il suffit de modifier la classe DB. Link to comment Share on other sites More sharing options...
Patrick_64 Posted May 21, 2013 Share Posted May 21, 2013 Message pour chalkeia Ne t'affole pas, fait la manip pour enlever l'affichage du HTML : http://www.prestashop-blog.com/2011/09/09/astuce-prestashop-1-4-x-comment-autoriser-des-balises-html-dans-les-descriptions/ et surtout attends, il y a quelque part du cache, je ne sais pas si c'est le navigateur, le serveur, le site, enfin bref, 15 jours après, tout est nickel. Bonne continuation 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