Versatile Banner

Créez un composant de thème tel que décrit dans le Guide pour débutants sur l’utilisation de Theme Creator et de Theme CLI pour commencer à créer un thème Discourse, le Guide du développeur sur les thèmes Discourse ou dans plusieurs autres sujets que vous pouvez trouver en recherchant « développeur de thèmes ».

Si cela ne vous est pas utile, vous devrez en dire plus sur ce que vous essayez de faire.

5 « J'aime »

Bonjour, est-il possible de convertir le texte de la bannière polyvalente à travers différentes locales ? Je serais intéressé par la traduction de l’interface utilisateur du français vers l’allemand en fonction de la locale.

2 « J'aime »

Je ne sais pas. Mais Add localizable strings to themes and theme components pourrait offrir quelques indices. Je pense qu’il faut forker le composant de thème, mais je ne suis pas sûr et je n’ai pas regardé le code récemment pour savoir si j’ai raison.

2 « J'aime »

Malheureusement, la fonctionnalité de traduction de thèmes mentionnée par Jay est sortie juste avant la création de ce composant et je ne pense pas que la documentation ait été publiée avant que je commence à y travailler. Il serait très difficile de la mettre à jour pour prendre en charge plusieurs traductions à ce stade sans casser les bannières polyvalentes existantes :frowning: L’approche de fork est probablement votre meilleure option.

Mon espoir est qu’à un moment donné, nous sortirons une “Bannière Polyvalente 2” qui pourra répondre à certaines des fonctionnalités manquantes et aux demandes reçues au fil des ans.

3 « J'aime »

Y a-t-il un moyen d’afficher une bannière sur les sujets d’une seule catégorie ? La bannière polyvalente utilise des URL et des caractères génériques, mais Discourse ne contient pas le nom de la catégorie dans l’URL. Ou existe-t-il un moyen d’ajouter la catégorie à l’URL du sujet ?

1 « J'aime »

Vous pouvez l’ajouter à une catégorie spécifique en ajoutant un lien tel que /c/support/* au paramètre url doit contenir.

2 « J'aime »

Je sais, c’est pourquoi j’ai écrit « sujets sous une seule catégorie ». Les sujets ont une URL comme /t/* qui ne contient pas le nom de la catégorie. Donc, si vous ajoutez /c/support/*, cela n’apparaît que sur la page de la liste des sujets, pas sur les sujets de cette catégorie.

2 « J'aime »

Désolé, j’ai complètement mal lu cela. :slight_smile: Je crains de ne pas savoir.

3 « J'aime »

La catégorie est ajoutée en tant que classe à la balise <body>, vous pouvez donc écrire du CSS qui affiche ou masque la bannière en fonction de la catégorie. Par exemple :

/* Masquer la bannière par défaut */
.custom-banner-outlet {
    display: none;
}

/* Afficher la bannière dans la catégorie « Général » */
body.category-general .custom-banner-outlet {
    display: block;
}
3 « J'aime »

Je suis ravi de pouvoir utiliser cette bannière, mais je dois en limiter la visibilité à certains groupes d’utilisateurs. Nous utilisons Discourse pour héberger un LMS - j’espère que cette bannière sera visible par nos étudiants actuels, mais pas par les anciens élèves. Est-ce possible, ou existe-t-il un autre moyen d’y parvenir ?
Merci beaucoup pour vos conseils.

1 « J'aime »

Je pense que cela devrait être possible en utilisant le composant de thème CSS Classes for Current User's Groups et en ajoutant un petit display: none; pour le groupe concerné dont vous souhaitez le masquer. :+1:

3 « J'aime »

Merci beaucoup. Cela semble terriblement proche de ce que je recherche, mais malheureusement, je suis complètement dépassé par le CSS. J’apprécie votre suggestion cependant !

1 « J'aime »

Ce n’est pas grave. :slightly_smiling_face: Si vous nous indiquez le nom du groupe à partir duquel vous souhaitez masquer la bannière, nous pourrons ajuster le code à vos besoins et vous montrer où le placer. :+1:

Par exemple :

.group-alumni {
.custom-banner-outlet {
    display: none;
  }
}
Détails supplémentaires sur la façon de l'ajouter à votre site
  • Allez sur /admin/customize/themes
  • Cliquez sur installer puis sur créer nouveau
  • Donnez-lui un nom et sélectionnez ‘composant’.
  • Créer
  • Ajoutez-le à votre thème
  • Cliquez sur le bouton Modifier CSS/HTML et collez le code dans l’onglet Commun
  • Et enregistrez. :+1:

4 « J'aime »

Comment pouvons-nous prévisualiser le thème sans l’activer ? Je veux pouvoir expérimenter sans perturber l’expérience utilisateur. Nous sommes sur un plan hébergé Discourse, nous n’avons donc pas la possibilité d’exécuter des instances de test.

J’espère qu’il existe un interrupteur ou un paramètre que j’ai négligé.

2 « J'aime »
  1. Vous pouvez ajouter un autre thème (probablement un clone du vôtre ‘normal’) - appelez-le Test ou quelque chose comme ça.
    • Gardez le vôtre comme ‘par défaut’.
  2. Assurez-vous d’inclure exactement les mêmes Composants de thème
  3. Sélectionnez celui-ci pour votre utilisateur administrateur

Vous pouvez ensuite bricoler celui-ci autant que vous le souhaitez. D’autres peuvent (en théorie) sélectionner le thème, mais il est très peu probable qu’ils le fassent, à moins qu’on ne leur indique clairement où le trouver.

N’oubliez pas de sélectionner le thème ‘normal’ lorsque vous avez terminé !

3 « J'aime »

Je pense que ce n’est peut-être pas réalisable, mais ça ne coûte rien de demander.

Dans un long sujet, lorsque vous partez du bas et faites défiler vers le haut, la bannière apparaît brièvement pendant que le flux de messages charge les anciens messages. Une fois les messages chargés, il y a un « saut » visuel lorsque la bannière est poussée au-dessus du flux de messages. Je trouve cela un peu déroutant et elle n’apparaît pas assez longtemps pour interagir avec.

Idéalement, je voudrais seulement voir la bannière au-dessus du titre d’un sujet et non au milieu du flux. Je pense que ce n’est pas une demande triviale, car je suppose que la bannière utilise la sortie below-site-header, donc son comportement est basé sur la sortie et par conséquent ce « saut » est un comportement attendu.

Existe-t-il un moyen simple de savoir si vous êtes en haut de la page ?

1 « J'aime »

C’est un excellent conseil. Cela a parfaitement fonctionné pour moi.

J’ai découvert que le thème cloné n’a pas besoin d’être actif. Il peut être prévisualisé lorsqu’il est inactif, il n’y a donc pas lieu de s’inquiéter que les utilisateurs le découvrent.

J’ai lu cela avec amusement. C’était ma pensée lorsque j’ai commencé à explorer les thèmes. Je voulais expérimenter et j’ai chargé quelques thèmes différents. Les membres du forum les ont trouvés très rapidement.

Pour être doublement sûr que vos utilisateurs ne voient pas ce avec quoi vous expérimentez, laissez l’option « Le thème peut être sélectionné par les utilisateurs » décochée. Les utilisateurs ne pourront pas choisir le thème même s’il est actif.

3 « J'aime »

Y a-t-il un moyen de n’afficher cela qu’à des niveaux de confiance spécifiques ?

De cette façon, au lieu d’utiliser un cookie pour mémoriser le réglage de l’utilisateur pour l’afficher/le masquer, tous les utilisateurs le verront jusqu’à ce qu’ils atteignent un niveau de confiance spécifique ?

1 « J'aime »

Cette bannière de composant n’est pas disponible actuellement, mais la bannière de lien de bienvenue Welcome Link Banner l’est, si c’est une bonne alternative ?

2 « J'aime »

Je veux utiliser cette bannière pour qu’une personne de mon pays soit mise à l’honneur chaque semaine sur mon forum, avec une photo de la personne mise à l’honneur et un texte. Cependant, je souhaite accorder l’accès aux plugins à mes modérateurs, car je ne serai pas disponible chaque semaine. Est-il possible d’accorder l’accès à ce plugin à mes modérateurs afin qu’ils puissent également y ajouter une photo et du texte ?