Я создал категорию на своём форуме под названием «Отправки конкурсных работ». Эта категория будет зарезервирована для заявок, когда наша компания проводит конкурс. Я разобрался, как создать шаблон темы для тела новой темы, но не могу понять, как отредактировать заголовок этой темы. Вот что я имею в виду:
Обратите внимание, что сейчас в подсказке для заголовка просто написано «интересный заголовок». Я хочу изменить это на «Название вашего проекта». Но я хочу изменить это только для этой конкретной категории, а не для всего форума. Как это сделать?
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 ниже)
Только что наткнулся на это и с энтузиазмом хочу использовать в сочетании с Экспериментальными шаблонами форм, так как пользователи могут забыть ввести заголовок и не знать, что там написать… но, похоже, у меня это не работает.