J’ai un utilisateur qui demande s’il est possible de restreindre la bannière à la page d’accueil uniquement, de sorte que si elle a le dernier livre en favori, il ne s’affiche pas ? Actuellement, il semble s’afficher dans les deux cas.
Oui, c’est dans les paramètres de la bannière de lien de bienvenue :
Voulez-vous dire, s’ils définissent une page personnalisée (dernier, catégories, peu importe) comme page d’accueil dans leur propre profil ?
Alors cette page arbitraire est considérée comme la « page d’accueil » pour l’utilisateur, et donc la bannière de bienvenue leur apparaîtra sur leur nouvelle page d’accueil.
Si la page d’accueil par défaut de votre site est /categories et que vous souhaitez que la bannière de bienvenue apparaisse uniquement sur /categories, quelles que soient les préférences d’interface des utilisateurs, vous pourriez peut-être définir afficher sur sur « découverte » ou « tout » et utiliser javascript pour masquer la bannière de bienvenue sur d’autres pages que celle sur laquelle vous souhaitez l’afficher.
Mais je ne sais pas actuellement comment identifier de manière fiable la page actuelle sur laquelle nous nous trouvons (y compris lorsque nous chargeons une page pour la première fois et lorsque nous changeons de page) pour masquer dynamiquement la bannière de bienvenue.
Je serais heureux d’essayer cela plus tard (
), mais peut-être que cela pourrait être un début :
Ah, merci beaucoup, oui, certains de mes chefs de communauté qui ont la disposition par défaut définie sur la dernière version, préféreraient que la bannière n’apparaisse que sur la page des catégories, par exemple. Je vais examiner le lien que vous avez partagé.
D’accord, voici une solution fonctionnelle. Dans mon exemple, la bannière de bienvenue s’affichera uniquement sur la page /latest, indépendamment des paramètres d’interface de l’utilisateur. Je vais vous laisser la personnaliser pour qu’elle s’affiche uniquement sur la page /categories. ![]()
-
Définissez le paramètre show on du Welcome Link Banner sur “all” ou “discovery”, en fonction de la ou des pages où vous souhaitez afficher la bannière.
-
Ajoutez ce script dans votre thème :
<script type="text/discourse-plugin" version="1.4.0"> // montre la bannière de bienvenue uniquement sur la page /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> -
Ajoutez ce CSS à votre thème :
body:not(.route-discovery-latest) .welcome-link-banner-connector { display: none; }
Référence utilisée :
Merci beaucoup, merci beaucoup ! ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
