@NateDhaliwal ОК, спасибо, что разобрались! Немного расстроены, потому что нам очень понравился этот TC, но если его нельзя исправить и разместить на нашем сайте, я пока оставлю его без изменений и поищу другие способы, чтобы заголовки категорий выглядели красиво.
@jackierenee Я позволил себе зайти на ваш сайт и посмотреть, что происходит.
Кажется, вы просто удалили компонент темы из родительской темы, обновили его и снова добавили.
Проблема в том, что Discourse не восстанавливается автоматически, если компонент темы обновлён до версии, несовместимой с текущей, а затем был добавлен пин.
Правильный способ восстановления в такой ситуации:
- перейдите к компоненту темы;
- прокрутите страницу до самого низа;
- скопируйте настройки из редактора настроек (“settings editor”);
- сохраните их в текстовом редакторе;
- полностью удалите (
удалить) компонент темы; - снова добавьте его из репозитория GitHub;
- скопируйте настройки из текстового редактора и вставьте их в редактор настроек;
- при необходимости внесите исправления (иногда в новой версии добавляются новые настройки, которые нужно удалить; редактор подскажет, что делать, если вы попытаетесь их сохранить);
- добавьте компонент темы в родительскую тему.
Я выполнил эти действия на вашем сайте, и теперь баннеры отображаются снова.
Для авторов компонентов тем: очень помогает, если вы используете поле version в файле about.json, чтобы администратор мог видеть, какая версия компонента темы установлена. К сожалению, Discourse не отображает версии коммитов для компонентов темы так, как это делается для плагинов.
Это звучит вежливо. Я постараюсь добавить действие GitHub, которое будет автоматически обновлять версию при каждом новом коммите в ветку main.
Вы легко сможете этого добиться, используя настройку Показать название категории этого компонента темы — она создана специально для вашего случая.
Звучит как отличная идея! Пожалуйста, опишите, как это сделать, и добавьте информацию в руководство «Разработка компонентов темы для чайников» (если оно есть).
Я попробовал — все мои замечания устранены, выглядит отлично. Отличная работа!!!
Скажите, насколько сложно будет добавить возможность указывать, сколько абзацев темы «О нас» использовать для описания? Лично я считаю один абзац довольно ограничительным и хотел бы иметь возможность указывать (возможно, для каждой категории отдельно), сколько абзацев использовать.
И последнее (пока мы говорим об этом компоненте темы): вы не считаете, что было бы хорошо перенести ссылку «Читать далее…» в конец последнего абзаца? Это, безусловно, сэкономило бы много пустого пространства в моем случае. Но с другой стороны, если мы сможем использовать несколько абзацев, это может немного конфликтовать со вторым абзацем, если в нем содержатся ссылки и прочее.
.
Хм… способ, которым код получает описание категории, использует this.args.category.description. Насколько я помню, оно уже приходит в виде одного абзаца. Я изучу этот вопрос. Возможно, я могу использовать fetch() или AJAX, но это может быть медленнее.
Может быть, добавить настройку для выбора, должно ли оно быть встроенным или нет? Дайте мне время это изучить.
Привет! Я заметил, что размер шрифта текста категории при установке значения «меньше» не применяется — он всегда остаётся большим (это произошло, кажется, один или два дня назад).
Мы изменили это, чтобы описание категории было либо меньше, либо больше, чем в базовой версии (которая, похоже, недавно увеличилась).
Я проверю ещё раз, нет ли конфликта с темой, который мог оказаться ложной тревогой.
Привет, @RGJ, большое-большое спасибо за это! Я и не знал, что компоненты темы работают именно так. Если мы снова столкнёмся с подобной ситуацией, я обязательно это учту. Очень ценю вашу помощь! ![]()
Это очень редкая и специфическая ситуация с необычным поведением, и, надеемся, мы не столкнёмся с этим ещё какое-то время!
Привет, я решил проблему с помощью этого CSS:
.category-title-description .cooked {
font-size: small;
}
У меня также отображаются пустые страницы категорий в десктопных и мобильных браузерах (версия Discourse 3.5.0.beta8-dev), когда этот компонент имеет следующую настройку:
"setting": "show_mobile", "value": false
При сбросе к значению по умолчанию (true) страницы отображаются корректно.
В консоли появляется следующая ошибка…
Необработанное отклонение промиса: TypeError: undefined is not an object (evaluating ‘this.site.mobileView’)
…что связано с…
/discourse/theme-javascripts/theme-3/discourse/components/category-header.gjs)
…и проблемной строкой является строка 3 (const hideMobile) ниже:
get showHeader() {
const isException = this.args.category && settings.hide_category_exceptions.split("|").includes(String(this.args.category.id));
const hideMobile = !settings.show_mobile && this.site.mobileView;
const subCat = !settings.show_subcategory_header && this.args.category.parentCategory;
const noDesc = !settings.hide_if_no_category_description && !this.args.category.description_text;
const path = window.location.pathname;
return /^\/c\//.test(path) && !isException && !noDesc && !subCat && !hideMobile;
}
Есть ли какие-либо идеи, почему это происходит?
Технически это должно работать… эта строка была ещё до обновления. Я посмотрю.
@HTW Я отправил исправление. Дайте знать, если теперь всё работает!
Исправлено. Большое спасибо.
Похоже, в заголовках категорий произошли некоторые недавние изменения в ядре, из-за чего стандартные заголовки больше не скрываются при использовании этого компонента.
Стоит ли нам стремиться привести этот компонент в соответствие с изменениями стиля в ядре?
Хм… какие здесь изменения? Может, скриншот? Спасибо.
Я добавил !important в конец… теперь работает?
Небольшое замечание: варианты размера текста описания всё ещё слишком велики. Даже вариант «поменьше» использует var(--font-up-2). Есть ли возможность добавить var(--font-0) («самый маленький» или «по умолчанию») в качестве опции?
Или вы примете PR по этому поводу?
@jrgong Я только что объединил PR, который добавляет опцию «smallest» со значением $font-0. Дайте знать, если столкнётесь с какими-либо проблемами!

