É possível alterar o título do tópico para uma categoria?

Criei uma categoria no meu fórum chamada “Envios de Concurso”. Essa categoria será reservada para os envios quando nossa empresa realizar um concurso. Descobri como criar um modelo de tópico para o corpo de um novo tópico, mas não consegui descobrir como editar o título desse tópico. É o seguinte:

Note como minha sugestão de título diz apenas “um título interessante” no momento. Quero mudar para “O título do seu projeto”. Mas quero fazer essa alteração apenas para essa categoria específica, não para todo o fórum. Como faço isso?

O Discourse atribui um ID a cada categoria criada, então você pode usá-lo para atingir seu objetivo.

Você precisará adicionar um pouco de código personalizado a um componente de tema e adicioná-lo ao(s) seu(s) tema(s) ativo(s).

Abaixo está o código comentado para o que você deseja realizar.

<script type="text/discourse-plugin" version="0.8">
  // opções que você pode alterar
  const targetCategoryId = 6; // altere isso para a categoria que deseja atingir
  const placeHolderForCategory = "MUDE_ESSE_TEXTO_MAS_MANTENHA_AS_CITASOES";

  // não há necessidade de alterar nada abaixo desta linha. Pare aqui se você for um administrador.
  const discourseComputed = require("discourse-common/utils/decorators")
    .default;

  // não é um componente remoto
  const currentLocale = I18n.currentLocale();
  I18n.translations[
    currentLocale
  ].js.composer.custom_category_placeholder = placeHolderForCategory;

  // altera o placeholder para a categoria alvo, caso contrário, usa o padrão.
  api.modifyClass("model:composer", {
    @discourseComputed("canEditTopicFeaturedLink")
    titlePlaceholder() {
      return this.category && this.category.id === targetCategoryId
        ? "composer.custom_category_placeholder"
        : this._super();
    },
  });
</script>

Isso deve ser inserido na aba common > header do seu componente.

Você pode obter o ID da categoria visitando a página dessa categoria específica e verificando a URL.

Por exemplo,

O ID da categoria Support aqui no Meta é 6 (o último dígito na URL abaixo)

Support - Discourse Meta

No trecho acima, o ID (número) da sua categoria alvo deve substituir o “6” em targetCategoryId.

A outra opção é bastante simples: altere o texto para o que você deseja exibir como placeholder para o título dessa categoria.

Acabei de me deparar com isso e estou animado para usá-lo em combinação com os Modelos de Formulário Experimentais, pois as pessoas podem esquecer de inserir um título e não saber o que colocar lá… mas não parece funcionar para mim.

Alguém sabe se isso ainda funciona?

Isto agora está no core