Bonjour,

Je sais que depuis 2017 la fonctionnalité d'hyperlien avec sharepoint online est désactivée avec un champ calculé (elle permettait lorsque l'on cliquait sur un lien d'ouvrir une nouvelle page). Et présentement, un hyperlien (non calculé) s'ouvre sur la page courante, ce que je voudrais éviter.

Pour reproduire cette fonctionnalité, j'ai décidé d'utiliser jslink en suivant les étapes suivantes :
- création d'une liste de liens avec un champ hyperlien (URL), un champ texte (lien) et un champ calculé (LinkToClick) égal au champ lien.
- je crée une vue sur la liste avec uniquement le champ hyperlien et le champ calculé
- j'ajoute le jslink dans la section "Miscellaneous" du webpart et je fais Apply sur le webpart, et avec la vue précédemment créée
- je mets à jour le webpart et je sauvegarde

Dans mon champ calculé je me retrouve bien avec mon lien qui m'ouvre une nouvelle page et aussi l'URL.

Lorsque je modifie le webpart pour ne plus inclure que le champ calculé, le lien n'est plus bon et j'aurais bien aimé n'avoir qu'un seul champ pour les utilisateurs.

Je regarde sur internet et je trouve ce code sample, je teste comme indiqué dans la page suivante en créant sur mon site une nouvelle liste. https://code.msdn.microsoft.com/offi...-code-2625e5e3 ,en ajoutant le js où il faut (~site/SiteAssets/MyJSLink.js) et je constate après sauvegarde que le champ Link apparait toujours.

Est-ce qu'il y a quelque chose que j'ai mal fait ? et/ou comment adapter mon script pour qu'il mette en caché (display none) le champ URL ?

D'avance, merci pour la petite aide !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
(function () {  
    // Create an object that have the context information about the fields that we want to change the rendering of.   
    var nameFiledContext = {};  
    nameFiledContext.Templates = {};  
 
    nameFiledContext.Templates.Fields = {  
        // Apply the new hyperlink HTML Rendering to the field in your view.  Swap out "<Your Field Name>" for your field name 
        "LinkToClick": { "View": nameFiledTemplate } 
    };  
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(nameFiledContext);  
 
 
})();  
 
 
// This function applies the rendering logic 
function nameFiledTemplate(ctx) {  
    var name = ctx.CurrentItem.ID;  //Swap out name variable for whatever field contains your hyperlink name
    var url = ctx.CurrentItem.URL;
    var lien = ctx.CurrentItem.Link;
 
return "<a target='_blank' href='" + url + "'>" + lien + "</a>";      //Put the url for your hyperlink in the href above
 
}