Est-il possible de modifier le titre du sujet pour une catégorie ?

J’ai créé une catégorie sur mon forum appelée « Soumissions de concours ». Cette catégorie sera réservée aux soumissions lorsque notre entreprise organisera un concours. J’ai trouvé comment créer un modèle de sujet pour le corps d’un nouveau sujet, mais je n’arrive pas à savoir comment modifier le titre de ce sujet. Voici ce que je veux dire :

Remarquez comment mon invite de titre indique actuellement « un titre intéressant ». Je souhaite le modifier pour qu’il indique « Le titre de votre projet ». Cependant, je ne veux changer cela que pour cette catégorie spécifique, et non pour l’ensemble du forum. Comment faire ?

1 « J'aime »

Discourse attribue un identifiant à chaque catégorie créée, ce qui vous permet d’utiliser cet identifiant pour atteindre votre objectif.

Vous devrez ajouter un peu de code personnalisé à un composant de thème et l’ajouter à votre (vos) thème(s) actif(s).

Voici le code commenté pour ce que vous souhaitez réaliser.

<script type="text/discourse-plugin" version="0.8">
  // options que vous pouvez modifier
  const targetCategoryId = 6; // modifiez ceci pour la catégorie que vous souhaitez cibler
  const placeHolderForCategory = "CHANGE_THIS_TEXT_BUT_KEEP_THE_QUOTES";

  // pas besoin de modifier quoi que ce soit en dessous de cette ligne. Arrêtez-vous ici si vous êtes administrateur.
  const discourseComputed = require("discourse-common/utils/decorators")
    .default;

  // ce n'est pas un composant distant
  const currentLocale = I18n.currentLocale();
  I18n.translations[
    currentLocale
  ].js.composer.custom_category_placeholder = placeHolderForCategory;

  // modifie le texte d'espace réservé pour la catégorie cible, sinon, revient aux
  // valeurs par défaut.
  api.modifyClass("model:composer", {
    @discourseComputed("canEditTopicFeaturedLink")
    titlePlaceholder() {
      return this.category && this.category.id === targetCategoryId
        ? "composer.custom_category_placeholder"
        : this._super();
    },
  });
</script>

Cela doit être placé dans l’onglet common > header de votre composant.

Vous pouvez obtenir l’identifiant de la catégorie en visitant la page de cette catégorie spécifique et en vérifiant l’URL.

Par exemple,

L’identifiant de la catégorie Support ici sur Meta est 6 (le dernier chiffre de l’URL ici)

Support - Discourse Meta

Dans l’extrait ci-dessus, l’identifiant (nombre) de votre catégorie cible doit remplacer le « 6 » dans targetCategoryId.

L’autre option est très simple : modifiez le texte pour qu’il corresponde à ce que vous souhaitez afficher comme espace réservé pour le titre de cette catégorie.

5 « J'aime »

Je viens de tomber sur ceci et j’ai hâte de l’utiliser en combinaison avec les Modèles de formulaires expérimentaux car les gens pourraient oublier d’entrer un titre et ne pas savoir quoi y mettre… mais cela ne semble pas fonctionner pour moi.

Quelqu’un sait si cela fonctionne toujours ?

Ceci est maintenant dans le cœur

3 « J'aime »