Обращение к пользователю по имени

Вот было бы здорово, если бы на Тильде можно было обращаться к пользователям в личном кабинете по имени, не правда ли? А что, если обращаться к ним по имени не только на страницах личного кабинета, но и на всём сайте? Это можно устроить! Главное, чтобы выполнялось одно условие: пользователь должен быть залогинен в личном кабинете. Если же пользователь пока не заходил в личный кабинет в текущем браузере (и на текущем устройстве), вместо имени будет прописано слово, которое вы выберите, например «Инкогнито».

Что нужно сделать?
  1. Укажите слово, которое будет написано вместо имени, если пользователь не залогинен или не указал имя при регистрации.
  2. На сайте в местах, где хотите сделать обращение, напишите любое слово, например «имя», и сделайте из него ссылку на #username.
  3. Разместите скрипт в футере или на тех страницах, где планируете использовать модификацию в блоке T123.

Должно получиться вот так: имя.
<!-- Обращение к пользователю по имени | https://necodim.ru/tilda/addressed-by-name -->
<script>
document.addEventListener('DOMContentLoaded', function() {
    let projectId = parseInt(document.querySelector('#allrecords').dataset.tildaProjectId),
        lsUser = window.localStorage.getItem('tilda_members_profile' + projectId),
        userName = lsUser != null ? JSON.parse(lsUser).name : false,
        newName = lsUser != null ? userName : 'Инкогнито',
        userNameLink = document.querySelectorAll('a[href="#username"]');
    for (let i=0; i<userNameLink.length; i++) {
        let span = document.createElement('span');
        userNameLink[i].innerHTML = newName;
        span.innerHTML = userNameLink[i].innerHTML;
        userNameLink[i].replaceWith(span);
    }
});
</script>
Однако будьте внимательны, не стоит перебарщивать с этим на страницах, не из личного кабинета. Если пользователь будет видеть везде «Инкогнито» в качестве обращения, это может оттолкнуть.
Пример работы модификации
Если вы залогиньтесь, то вместо «Инкогнито» увидите своё имя.
Привет, пользователь! Если бы ты был залогинен, то вместо «Инкогнито» было бы написано имя, которое ты указал в личном кабинете. А, если ты не залогинен, я не знаю, как тебя зовут…
Made on
Tilda