У меня возникают трудности с изучением того, как работает Discourse, и я всё ещё запутался после прочтения этого. Я пытаюсь добавить динамический заголовок к имени администратора на странице поста с помощью jQuery, но это не работает.
Однако, если я нацелюсь, скажем, на тег body и добавлю класс, это сработает.
Так что, не могли бы вы объяснить, почему это не работает?
Код, кстати, вставлен во вкладку «Header».
Вероятно, потому что в данном случае jQuery несовместим с конвейером рендеринга Ember и виджетов.
Видите ли, в этом скрипте вы не контролируете момент его срабатывания и то, на каком этапе выполнения JavaScript-приложения происходит отрисовка экрана.
Однако для этого существует метод JavaScript API, подробнее здесь:
Вы также можете использовать это для отображения специального значка к аватару (также продемонстрировано на приведенном выше скриншоте).
Очевидно, что если вы не хотите, чтобы это было так «жестко» зафиксировано, вам придется обратиться к программированию, но это, я уверен, вы согласитесь, требует гораздо меньше усилий.
Спасибо за помощь. Это не тот заголовок форума, который я ищу, но мне нужно отображать подсказку при наведении на эту маленькую иконку короны, которую я создал (видна только администраторам):
В Discourse реализация подобных вещей требует значительно больше усилий, поскольку это автоматическое веб-приложение, но если сделать всё правильно, решение получается очень надежным.
Отлично, большое спасибо. Я изучу это и опубликую решение, если у меня получится. На первый взгляд, Discourse кажется пугающим в плане кастомизации, и я думал, что WordPress сложен . Но, уверен, как только я разберусь со всеми этими плагинами и шаблонами, всё станет проще.
Но это уберет значок щита для модераторов, верно? Потому что я этого не хочу. Мне нужно добавить значок короны и всплывающий текст только для администраторов, так как у них его вообще нет на странице постов.
Ах, да, я привык к своим сайтам, где я одновременно и модератор, и администратор. Если разделить эти роли, это не сработает (то есть администраторы никогда не будут модераторами). Вам нужно предоставить администраторам права модератора.
В данном случае первый пользователь является одновременно администратором и модератором, а второй — только администратором. Вы можете доработать эту логику: чтобы корона имела приоритет, просто поменяйте порядок операторов if.
Звучит как решение, но, как я уже говорил, я новичок в настройке Discourse… Не могли бы вы объяснить, куда именно нужно вставить ваш код, так как я пока не пробовал никаких методов API?
Я обновил TC, теперь он также меняет иконки персонала на карточке пользователя (и, возможно, в других местах, так как я изменил вспомогательный модуль).
Теперь иконки настраиваются как для администратора, так и для модератора, хотя по умолчанию для администратора используется корона, а для модератора — стандартный щит.
Я переименовал TC.
Вероятно, есть места, где иконки не были преобразованы; возможно, я найду их в будущем.
Огромное спасибо! Это помогло мне в том, что я хотел сделать для своего форума! Думаю, ваш комментарий стоит закрепить для других пользователей, у которых возникают проблемы с отображением иконки рядом с именем администратора. Я использовал вашу функцию для отображения иконки щита, которая публично показывается в профиле модераторов, для администраторов. Теперь я могу иметь иконку щита без прав модератора, и она показывает правильный всплывающий подсказку администратора, когда у меня есть только права администратора. Большое спасибо за ваше время и за создание этого замечательного компонента для форумов людей!
Редактирование: Она не отображается публично в их профиле. В настоящее время она работает только в сообщениях.