Tenho um usuário perguntando se é possível restringir o banner apenas à página inicial, para que se ele tiver “latest” nos favoritos, ele não apareça? Atualmente, parece que ele aparece em ambas as instâncias.
Sim, está nas configurações do Banner de Link de Boas-Vindas:
Você quer dizer, se eles definirem uma página personalizada (último, categorias, o que for) como página inicial em seu próprio perfil?
Então esta página arbitrária é considerada a “página inicial” para o usuário, e assim o banner de boas-vindas aparecerá para eles em sua nova página inicial.
Se a página inicial padrão do seu site for /categories e você quiser que o banner de boas-vindas apareça apenas em /categories, independentemente das preferências de interface dos usuários, talvez você possa definir mostrar em como “discovery” ou “all” e usar javascript para ocultar o banner de boas-vindas em outras páginas que não aquela em que você deseja mostrá-lo.
Mas atualmente não sei como identificar de forma confiável a página atual em que estamos (incluindo quando carregamos uma página pela primeira vez e quando mudamos a página) para ocultar dinamicamente o Banner de Boas-Vindas.
Ficarei feliz em tentar isso mais tarde (
), mas talvez isso possa ser um começo:
Ah, muito obrigado, sim, alguns dos meus líderes comunitários que têm o layout padrão definido como o mais recente, prefeririam que o banner aparecesse apenas na página de categorias, por exemplo. Revisarei o link que você compartilhou.
Ok, aqui está uma solução funcional. No meu exemplo, o Banner de Boas-Vindas será exibido apenas na página /latest, independentemente das configurações de interface dos usuários. Vou deixar você personalizá-lo para exibi-lo apenas na página /categories. ![]()
-
Defina a configuração show on do Welcome Link Banner como “all” ou “discovery”, dependendo das páginas em que você deseja que o banner seja exibido.
-
Adicione este script ao seu tema:
<script type="text/discourse-plugin" version="1.4.0"> //mostra o banner de boas-vindas apenas na página /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> -
Adicione este CSS ao seu tema:
body:not(.route-discovery-latest) .welcome-link-banner-connector { display: none; }
Referência utilizada:
Obrigado por isso, muito, muito obrigado! ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
