We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

Implémentation des ancres dans l'éditeur TinyMCE Intéressante

thomas lavocat · on 1/20/14 at 11:53 AM

Bonjour,

Par défaut l'éditeur TinyMCE propose une gestion des ancres en deux actions via l'outil d'ancres 'anchor' qui permet de créer une ancre et via l'outil 'link' qui permet de céer un lien rattaché à cette ancre.Cette fonctionalité à été enlevée dans la surcharge de JCMS.

Historique de l'idée :
Nous avons besoin des ancres dans un projet, malheureusement, lorsque l'on active ces fonctionalités dans JCMS elle ne sont pas fonctionnelle en Front-Office car JCMS rajoute une propriété dans le head un <base href> qui fait qu'une racine commune est rajoutée sur tous les liens. L'impact sur les ancres c'est qu'elles ramènent donc à la page d'accueil car au lieu de ne pointer que sur #ancre elles pointent sur http://localhost:8080/jcms#ancre.

Une idée :
Le thème advanced qui est utilisé pour tinyMCE surcharge la commande de lien standard du plugin advlink et fait entre autre disparaitre la gestion des ancres.
Dans le plugin standard d'advlink, la gestion des ancres efface champ 'URL du lien' et viens y écrire l'ancre
Dans la surcharge JCMS le dochooser permet de choisir une publication sur laquelle pointer.

ce qui serait bien, ce serait de faire en sorte que pour choisir un ancre il faut avoir séléctionné une publication dans le doc chooser et qu'au lieu qu'a la sélection le champ 'URL du lien' ne se vide celui cit soit concaténé avec l'ancre séléctionnée.
Ce là permettrait d'avoir un mécanisme d'ancres qui est fonctionnel malgrès le <base href>.

Une autre (meilleure?) idée :

Récupérer directement l'id de la publication courante et créer le lien d'ancre directement sur cette page dans le champ 'URL du lien'.

Cordialement,

7 pts
Olivier Jaquemet · on 2/7/14 at 5:46 PM

Bonjour Thomas,

Cette demande fonctionnel est tout à fait pertinente : faire en sorte qu'on puisse utiliser les ancres dans l'éditeurs wysiwyg.
J'ai saisi une demande d'évolution en conséquence : JCMS-4002 

Pour ce qui est de l'implémentation technique, je pense que le plus simple et le plus générique est plutot d'intervenir au rendu du wysiwyg (ainsi le HTML reste portable, même si l'URL change).

Un wysiwyg policy filter peut très facilement être développé pour répondre à ce besoin spécifique en attendant une implémentation dans le coeur du produit. J'ai mis un exemple d'implémentation en commentaire de l'issue JIRA (non testé).

2 pts
thomas lavocat · on 2/11/14 at 5:56 PM

Je repasse sur le sujet,

Pourquoi ne pas mette tout simplement un DataController plutôt qu'un WysiwygPolicyFilter en fait qui ferait le boulot une fois pour toutes plutôt qu'a chaque execution ?

Qu'en penses tu ?

#5

D'ailleurs, si t'as un moyen que le code source s'affiche proprement dans le commentaire, je veux bien.

thomas lavocat · on 2/11/14 at 6:24 PM
#6

avec la balise wiki verbatim (cf aide wiki)

Olivier Jaquemet · on 2/11/14 at 6:25 PM
#7

Merci, pour avoir remis en forme le texte, je n'ai pas eu le temps de m'en occuper hier.

thomas lavocat · on 2/13/14 at 9:51 AM
0 pts
Pascale Leroy · on 8/11/16 at 3:19 PM

J'ai essayé ça :

Pour marquer l'ancre :

<h2><a href="https://community.jalios.com/jcms/47_SocialIdea/en/implementation-des-ancres-dans-l-editeur-tinymce?pgr_start=5&pgr_type=community-all&pgr_sort=cdate&pgr_reverse=true&shortcutSort=#1"><strong><span style="color: #003300;">1- Salaire mensuel</span></strong></a></h2>

Pour pointer l'ancre :

 

http://intra.creditagricole.info/fnca/ca20_1356684/avenant-a-l-annexe-de-la-ccn-des-cadres-de-direction-de-cr#1

J'arrive sur la bonne page mais pas au bon endroit

#1

Pascale,

Je vous ai enregistré une démonstration ici : Démonstration d'utilisation des ancres en wysiwyg

Je n'ai pas connaissance des restrictions exactes sur les noms autorisées pour la balise name des ancres et leur interprétation par la navigateur. Dans le doute préférez l'utilisation d'identifiant alphanumérique, sans espace, et commençant par un caractère alphabétique.

Olivier Jaquemet · on 8/11/16 at 3:24 PM
#2

Merci c'est impec ! ma façon de générer l'ancre n'était pas bonne

Pascale Leroy · on 8/11/16 at 4:12 PM
0 pts