La prise en charge des étiquettes (tags) est une fonctionnalité centrale de Discourse. Dans ce guide pratique, je vais expliquer comment configurer un schéma d’étiquettes similaire à celui utilisé par Car Talk.
Nous souhaiterons réaliser les objectifs suivants :
- Des étiquettes pour les marques et les modèles de voitures.
- N’autoriser l’utilisation des étiquettes de marque et de modèle de voiture que dans certaines catégories.
- Les étiquettes de modèle de voiture ne peuvent être sélectionnées que si l’étiquette de marque de voiture correspondante est utilisée.
Prérequis
L’étiquetage est activé par défaut dans Discourse (via le paramètre du site tagging_enabled). S’il était précédemment désactivé, assurez-vous qu’il est activé.
Dans un schéma où nous sommes stricts sur la manière dont les étiquettes sont utilisées, nous devrions empêcher la plupart des utilisateurs de créer de nouvelles étiquettes. Le paramètre create_tag_allowed_groups contrôle quels groupes peuvent créer de nouvelles étiquettes (par défaut, les administrateurs, les modérateurs et le niveau de confiance 3). Vous pouvez également contrôler qui peut appliquer des étiquettes aux sujets avec le paramètre tag_topic_allowed_groups.
Groupes d’étiquettes
Allez à la page des groupes d’étiquettes (/tag_groups).
Étiquettes de niveau supérieur
Commençons par créer les étiquettes de marque de voiture, que nous souhaitons que les utilisateurs saisissent en premier.
Sur la page du groupe d’étiquettes :
-
Créez un nouveau groupe.
-
Donnez-lui un titre.
-
Ajoutez les étiquettes qui doivent appartenir au groupe. Vous pouvez ajouter des étiquettes existantes, ou en créer de nouvelles à partir de cette page.
-
Nous voulons seulement que les utilisateurs utilisent une seule étiquette de marque de voiture par sujet, alors cochez la case pour ajouter cette limitation.
-
Enregistrez le groupe.
Relations d’étiquettes parent-enfant
Maintenant, nous allons définir les étiquettes de modèle de voiture, qui sont regroupées en fonction des marques de voiture. Il y aura un groupe pour chaque marque de voiture.
Créez un autre groupe comme précédemment avec un nom approprié. Cette fois, nous ajoutons une étiquette parente. Dans cet exemple, nous définissons le groupe des modèles de voitures Honda, et utilisons honda comme étiquette parente.
Le résultat
À ce stade, l’étiquetage d’un sujet respectera ces règles. Lors de la tentative d’ajout d’étiquettes, la première étiquette ne pourra être qu’une des marques de voiture (ou d’autres étiquettes qui n’ont aucune limitation quant à leur utilisation).
La deuxième étiquette peut être l’une des étiquettes de modèle correspondant à l’étiquette de marque sélectionnée.
Visibilité et restrictions d’utilisation
Si nécessaire, vous pouvez restreindre la visibilité ou les autorisations d’application des étiquettes à des groupes d’utilisateurs spécifiques :
Restrictions de catégorie
Si je souhaite que les discussions automobiles aient lieu uniquement dans une certaine catégorie, je peux restreindre l’utilisation de toutes les étiquettes de marque et de modèle de voiture à partir des paramètres de la catégorie.
Dans l’onglet « Tags » des paramètres d’une catégorie, vous pouvez :
- Restreindre les étiquettes à la catégorie — ajouter des étiquettes individuelles ou des groupes d’étiquettes qui ne devraient être disponibles que dans cette catégorie.
- Autoriser les étiquettes globales — autoriser éventuellement d’autres étiquettes non restreintes en plus de celles qui sont restreintes.
- Exiger des groupes d’étiquettes — exiger que les nouveaux sujets incluent un nombre minimum d’étiquettes provenant de groupes d’étiquettes spécifiques.
Si j’ai d’autres catégories où ces étiquettes devraient également être autorisées, elles peuvent être ajoutées dans les paramètres de ces catégories de la même manière.
Et voilà !







