Можно ли изменить подсказку заголовка темы для категории?

Я создал категорию на своём форуме под названием «Отправки конкурсных работ». Эта категория будет зарезервирована для заявок, когда наша компания проводит конкурс. Я разобрался, как создать шаблон темы для тела новой темы, но не могу понять, как отредактировать заголовок этой темы. Вот что я имею в виду:

Обратите внимание, что сейчас в подсказке для заголовка просто написано «интересный заголовок». Я хочу изменить это на «Название вашего проекта». Но я хочу изменить это только для этой конкретной категории, а не для всего форума. Как это сделать?

Discourse присваивает уникальный идентификатор каждой создаваемой категории, поэтому вы можете использовать его для достижения своей цели.

Вам потребуется добавить немного пользовательского кода в компонент темы и включить его в вашу активную тему (темы).

Ниже представлен прокомментированный код для решения вашей задачи.

<script type="text/discourse-plugin" version="0.8">
  // параметры, которые можно изменить
  const targetCategoryId = 6; // измените это на ID нужной категории
  const placeHolderForCategory = "ЗАМЕНИТЕ_ЭТОТ_ТЕКСТ_НО_ОСТАВЬТЕ_КАВЫЧКИ";

  // ниже этой строки ничего менять не нужно. Если вы администратор, остановитесь здесь.
  const discourseComputed = require("discourse-common/utils/decorators")
    .default;

  // не удалённый компонент
  const currentLocale = I18n.currentLocale();
  I18n.translations[
    currentLocale
  ].js.composer.custom_category_placeholder = placeHolderForCategory;

  // изменяет плейсхолдер для целевой категории, иначе используется значение по умолчанию.
  api.modifyClass("model:composer", {
    @discourseComputed("canEditTopicFeaturedLink")
    titlePlaceholder() {
      return this.category && this.category.id === targetCategoryId
        ? "composer.custom_category_placeholder"
        : this._super();
    },
  });
</script>

Этот код следует разместить во вкладке common > header вашего компонента.

ID категории можно узнать, посетив страницу нужной категории и проверив URL-адрес.

Например,

ID категории Support здесь, на Meta, равен 6 (последняя цифра в URL ниже)

Support - Discourse Meta

В приведённом фрагменте ID (число) вашей целевой категории должен заменить “6” в переменной targetCategoryId.

Другой вариант предельно прост: измените текст на тот, который вы хотите видеть в качестве плейсхолдера для заголовка в этой категории.

Только что наткнулся на это и с энтузиазмом хочу использовать в сочетании с Экспериментальными шаблонами форм, так как пользователи могут забыть ввести заголовок и не знать, что там написать… но, похоже, у меня это не работает.

Кто-нибудь знает, всё ли это ещё актуально?

Теперь это в ядре