Jump to content

Editeur de texte/mise en page des blocs de texte dans Prestashop 1.7


Recommended Posts

Bonjour,

Je suis passé depuis peu à la version 1.7.5 de Prestashop et j'ai une question concernant la mise en page des blocs de texte.

En effet, j'ai installé un module de blog et j'ai de nombreux articles à migrer de l'ancien site vers le nouveau. Le problème est que l'éditeur de texte de la nouvelle version de Prestashop contient vraiment très peu d'outils et c'est vraiment très compliqué pour tout remettre en page. Il n'y a même pas de bouton "revenir en arrière", ni de bouton gomme pour supprimer les formats (fonds de couleur et autres). Pour insérer des images, c'est aussi toute une histoire.

Ma question est donc la suivante : savez-vous s'il est possible d'"enrichir" cet éditeur de texte afin d'avoir plus de flexibilité au niveau de la mise en page de mes textes ? PS : j'ai parlé du blog, mais en fait, ce problème est valable sur tout le site, sur les pages produits, les catégories, etc.

Merci d'avance pour votre aide !

Editeur de texte.jpg

Link to comment
Share on other sites

Hello,

Je n'ai pas la réponse à ta question, mais, pour avoir rencontré le même souci que toi, beaucoup d'articles à importer et des mises en page à revoir sur chacun, plutôt que de me retaper le boulot à chaque fois, j'ai créé une macro sur Excel pour remplacer du code HTML par d'autres expressions de code.

Et je ne trouvais pas la gomme non plus ! ;)

Car si l'éditeur est en effet limité, tu as tout de même accès au code HTML de ton article (bouton de gauche), et tu as donc là un éditeur de texte très complet. :)

Mes produits à importer étaient toujours composés de la même manière, ils avaient déjà une mise en forme qui leur était propre sur l'ancien site.

Je devais donc toujours remplacer une police 12 par une autre, enlever du texte en gras ou remplacer des liens vers des images (ancien hébergeur vers nouveau), ...

Bref, cette macro m'arrange bien la vie, elle ne complète pas l'éditeur en cours, et donc ne répond pas à ta question, par contre, c'est une solution quand on doit reformater ses fiches produits avec une nouvelle mise en page.

Elle est très simple, très binaire, pourrait largement être améliorée, mais je ne suis pas développeur (désolé pour ces derniers, ma macro doit leur piquer les yeux! ;) ), et cela ne concernait que 500 produits chez moi. J'en fais encore de temps en temps, car je n'ai pas fait les 500 d'un coup, je les fais petit à petit. 

L'idée est simple, j'affiche le code HTML de l'annonce en cliquant sur le bouton "<>" de l'éditeur de PS, je copie le code HTML de l'annonce PS à modifier, je le colle dans la cellule 1,1 (A1) du fichier Excel contenant ma macro, je clique sur le bouton affecté à la macro (que j'ai ajouté en personnalisant la barre d'outil d'Excel), et ensuite, je copie le code modifié et vais le coller dans l'éditeur de PS.

Ça me prend quelques secondes pour chaque annonce, avec les raccourcis clavier adéquats pour les copier-coller (cmd-C / cmd-V sur mac (ctrl-C/Ctrl-V) et passages entre applis (Cmd-Tab (Ctrl-Tab)), et je n'ai plus qu'à refaire rapidement la mise en page sur l'annonce, là où c'est nécessaire après le passage dans la macro.

Explication de la macro ;

  • Cells(1,1) : défini la cellule à traiter
  • Replace : fonction de remplacement de ce qui est entre guillemets par ce qui est situé après la virgule 
  • Si la ligne de code à remplacer contient des guillemets, on met les guillemets entre guillemets. :)
  •  l'* remplace une chaîne de caractères indéfinie
Sub Nettoyer_Annonce()

Cells(1, 1).Replace "<span title=""*"">", ""
Cells(1, 1).Replace "<span style=""font-size: 12px;"">", ""
Cells(1, 1).Replace "<span style=""font-size: 13px;"">", ""
Cells(1, 1).Replace "<span style=""font-size: 14px;"">", ""
Cells(1, 1).Replace "<span style=""font-size: 16px;"">", ""
Cells(1, 1).Replace "<span style=""font-size: 18px;"">", ""
Cells(1, 1).Replace "<span style=""font-size: 20px;"">", ""
Cells(1, 1).Replace "<span style=""font-weight: bold;"">", ""
Cells(1, 1).Replace "<span style=""color: #000000;"">", ""
Cells(1, 1).Replace "<span xml:lang=""*""*>", ""
Cells(1, 1).Replace "<span class=""*"">", ""
Cells(1, 1).Replace "<span id=""*"">", ""
Cells(1, 1).Replace "<span lang=""*"" xml:lang=""*"">", ""
Cells(1, 1).Replace "<span>", ""
Cells(1, 1).Replace "</span>", ""
Cells(1, 1).Replace "<strong>", ""
Cells(1, 1).Replace "</strong>", ""
Cells(1, 1).Replace "<div>", ""
Cells(1, 1).Replace "</div>", ""
Cells(1, 1).Replace "<em>", ""
Cells(1, 1).Replace "</em>", ""
Cells(1, 1).Replace "<b>", ""
Cells(1, 1).Replace "</b>", ""
Cells(1, 1).Replace "<p class=""*"">", "<p>"
Cells(1, 1).Replace "<li class=""*"">", "<li>"
Cells(1, 1).Replace "<ul class=""*"">", "<ul>"
Cells(1, 1).Replace "<h1>", "<h3>"
Cells(1, 1).Replace "<h1 style=""*"">", "<h3>"
Cells(1, 1).Replace "<h1 class=""*"">", "<h3>"
Cells(1, 1).Replace "</h1>", "</h3>"
Cells(1, 1).Replace "<h3 class=""*"">", "<h3>"
Cells(1, 1).Replace "<div style=""*"">", ""
Cells(1, 1).Replace "<div class=""*"">", ""
Cells(1, 1).Replace "http://localhost", "https://www.couillaler.fr"
Cells(1, 1).Replace "/WebRoot/ce_fr/Shops/188772/MediaGallery", "https://www.couillaler.fr/img/cms"
Cells(1, 1).Replace "---", "<p style=""text-align: center;"">---</p>"

End Sub

Voilà, ça remplace (et complète) la gomme disons. :)

Il faut juste passer un peu de temps au départ pour bien configurer la macro avec ses propres paramètres (remplacer ce qui est à remplacer, et laisser ce qui est à laisser), après ça va.

Voilà, si ça peut servir...

Antoine
PS : si tu veux savoir comment créer la macro et l'utiliser plus précisément, contactes-moi en MP, ce forum n'est pas un forum Excel. ;) 
D'ailleurs, si besoin, il y en a un bien ici https://forum.excel-pratique.com/ on y trouve plein de conseils, de bons trucs et d'aide sur Excel ! Je ne vais pas dire que je m'en suis servi pour faire ma macro, car vu celle-ci ce ne serait pas leur faire de la pub, mais bon, j'y ai trouvé comment faire cela quand même ! 😅

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...