Ограничить баннер приветствия главной страницей пользователя

Хорошо, вот рабочее решение. В моём примере баннер «Добро пожаловать» будет отображаться только на странице /latest, независимо от настроек интерфейса пользователя. Я оставлю вам возможность настроить его так, чтобы он показывался только на странице /categories. :slight_smile:

  1. Установите настройку показывать на для баннера «Добро пожаловать» в значение «все» или «обнаружение», в зависимости от страницы(страниц), на которой(которых) должен отображаться баннер.

  2. Добавьте этот скрипт в вашу тему:

    <script type="text/discourse-plugin" version="1.4.0">
        // показывает баннер «Добро пожаловать» только на странице /latest
        api.onPageChange(() => {
            const router = api.container.lookup('service:router');
    
            if (router.currentRoute.name === 'discovery.latest') {
                document.body.classList.add('route-discovery-latest');
            } else {
                document.body.classList.remove('route-discovery-latest');
            }
        });
    </script>
    
  3. Добавьте этот CSS в вашу тему:

    body:not(.route-discovery-latest) .welcome-link-banner-connector {
       display: none;
    }
    

Использованный источник: