È possibile modificare il prompt del Topic Title per una categoria?

Ho creato una categoria nel mio forum chiamata “Partecipazioni al Concorso”. Questa categoria sarà riservata alle partecipazioni quando la nostra azienda organizzerà un concorso. Ho capito come creare un modello di argomento per il corpo di un nuovo argomento, ma non riesco a capire come modificare il titolo di quell’argomento. Ecco cosa intendo:

Notate come la mia richiesta di titolo dica solo “un titolo interessante” al momento. Voglio cambiarla in modo che dica “Il titolo del tuo progetto”. Ma voglio modificare solo quella categoria specifica. Non l’intero forum. Come faccio?

Discourse assegna un ID a ogni categoria creata, quindi puoi utilizzarlo per raggiungere il tuo obiettivo.

Dovrai aggiungere un po’ di codice personalizzato a un componente del tema e integrarlo nel tuo/i tema/i attivo/i.

Ecco il codice commentato per realizzare ciò che desideri.

<script type="text/discourse-plugin" version="0.8">
  // opzioni modificabili
  const targetCategoryId = 6; // modifica questo valore con l'ID della categoria di destinazione
  const placeHolderForCategory = "CAMBIA_QUESTO_TESTO_MA_MANTIENI_LE_VIRGOLETTE";

  // non è necessario modificare nulla sotto questa riga. Fermati qui se sei un amministratore.
  const discourseComputed = require("discourse-common/utils/decorators")
    .default;

  // componente non remoto
  const currentLocale = I18n.currentLocale();
  I18n.translations[
    currentLocale
  ].js.composer.custom_category_placeholder = placeHolderForCategory;

  // modifica il segnaposto per la categoria di destinazione, altrimenti usa
  // i valori predefiniti.
  api.modifyClass("model:composer", {
    @discourseComputed("canEditTopicFeaturedLink")
    titlePlaceholder() {
      return this.category && this.category.id === targetCategoryId
        ? "composer.custom_category_placeholder"
        : this._super();
    },
  });
</script>

Questo codice va inserito nella scheda common > header del tuo componente.

Puoi ottenere l’ID della categoria visitando la pagina di quella specifica categoria e controllando l’URL.

Ad esempio,

L’ID della categoria #supporto qui su Meta è 6 (l’ultima cifra nell’URL qui)

Support - Discourse Meta

Nel frammento sopra, l’ID (numero) della tua categoria di destinazione dovrebbe sostituire “6” in targetCategoryId.

L’altra opzione è molto semplice: modifica il testo per indicare quello che desideri mostrare come segnaposto per il titolo di quella categoria.

Mi sono appena imbattuto in questo ed entusiasta di usarlo in combinazione con i Modelli di modulo sperimentali poiché le persone potrebbero dimenticare di inserire un titolo e non sapere cosa metterci… ma non sembra funzionare per me.

Qualcuno sa se funziona ancora?

Questo è ora nel core