Как использовать настройку «Открывать все внешние ссылки в новой вкладке» в настройках сайта

Ах, точно, я упустил часть про «user» :sweat_smile: извините.

Использование настройки пользователя почти ничем не отличается, нужно лишь изменить первые две константы, чтобы они ссылались на пользователя:

// настройка переменных user и target:
const user = api.getCurrentUser()
const target = user?.user_option?.external_links_in_new_tab ? "_blank" : ""

а затем всё остальное останется прежним.

Если бы это работало более похоже на ядро, мы бы проверяли, существует ли пользователь, и если нет — возвращались бы к настройкам сайта:

// настройка переменных user, siteSettings и target:
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) { // если пользователь существует, устанавливаем target на основе опции пользователя
 target = user.user_option?.external_links_in_new_tab ? "_blank" : ""
} 

// измените условие if, где создаётся ссылка, чтобы использовать переменную target:
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;
}