Comment utiliser le paramètre « Ouvrir tous les liens externes dans un nouvel onglet » dans les personnalisations du site

Ah oui, j’avais oublié la partie « utilisateur » :sweat_smile: désolé

Ce n’est pas très différent d’utiliser le réglage utilisateur, il suffirait de changer les deux premières constantes pour référencer l’utilisateur :

// configurer la variable utilisateur et cible :
const user = api.getCurrentUser()
const target = user?.user_option?.external_links_in_new_tab ? "_blank" : ""

et ensuite tout le reste serait pareil.

Si cela fonctionnait davantage comme le cœur, nous vérifierions si l’utilisateur existe et, s’il n’existe pas, nous nous rabattrions sur le réglage du site :

// configurer les variables utilisateur, siteSettings et cible :
const user = api.getCurrentUser()
const siteSettings = api.container.lookup('site-settings:main');
let target = siteSettings.default_other_external_links_in_new_tab ? "_blank" : ""; 

if (user) { // si l'utilisateur existe, définir la cible en fonction de l'option utilisateur
 target = user.user_option?.external_links_in_new_tab ? "_blank" : ""
} 

// modifier l'instruction if où le lien est créé pour utiliser la variable cible : 
if (userFields && userFields[userFieldId]) {
  const url = "http://myawesomewebsite.com/user/" + userFields[userFieldId];
  const link = `<a href="${url}" target="${target}">${url}</a>`;
  return Ember.Object.create({ link, name: externalUserIdField.get('name') });
} else {
  return null;
}
2 « J'aime »