Я пытаюсь добавить в Discourse значки с местоимениями для самообслуживания, но не уверен, какой способ будет лучшим. Похоже, что значки для самообслуживания пока не существуют, поэтому мне, возможно, придется что-то изобрести.
С точки зрения UX лучшей идеей может быть создание специального сообщения, к которому пользователи смогут отвечать, указывая предпочитаемые ими местоимения, а затем SQL-запрос будет находить эти ответы и назначать соответствующий значок.
Я не совсем уверен, чего именно вы пытаетесь добиться, но вы можете создать пользовательское поле и попросить пользователей указать там свои местоимения.
Что вы имеете в виду под «значком»? В Discourse есть значки, но, думаю, вы не это имели в виду, или, может быть, именно это. Если вы действительно имеете в виду значки, то вы можете включить SQL для значков и настроить их автоматическое присвоение, когда кто-то заполнит поле с местоимениями в своём профиле.
Ах, пользовательское поле для местоимений в профиле — хорошее начало. Проблема в том, что я обычно не захожу в профиль человека перед тем, как ответить ему.
Я думал сделать это в виде бейджа, чтобы это было более заметно… Есть опция «Разрешить использовать бейдж в качестве заголовка»… Я полагаю, это означает, что его можно отображать рядом с именем пользователя, но, возможно, нет?
Хм, да, я попробовал на карточке, выглядит неплохо. Я думал разместить это после основной группы пользователя, но беспокоюсь, что строка получится слишком перегруженной. К тому же мне не очень хочется править тему.
Это и есть моя главная озабоченность. Действительно ли все ваши пользователи хотят кричать о своих местоимениях в каждом. отдельном. сообщении? И создание групп сопряжено со своими собственными проблемами, так как вы неизбежно ограничите набор местоимений, которые люди могут использовать. Решение с помощью CSS могло бы добавить значение из пользовательского поля после имени и/или основной группы. Я тоже не в восторге от работы с CSS, но, думаю, кто-то здесь сможет подсказать, как это сделать. В худшем случае это обойдется в несколько сотен долларов, как мне кажется.
Нет, просто создайте компонент темы, добавьте этот код (с учётом вашей пользовательской переменной) и включите его в секцию <head> компонента темы. Затем добавьте этот компонент темы к используемой вами теме (или темам).
Для тех, кто, как и я, не знал, как создать компонент темы, это можно сделать прямо на вашем сайте: перейдите в раздел «Темы» в настройках, откройте вкладку «Компоненты», нажмите «Установить», а затем «Создать». Готово.
(Нажатие на «Установить» для создания нового компонента показалось странным, но я разобрался).
Ладно, ну, есть какой-то трюк, чтобы заставить это… работать? При нажатии на preview всё выглядит правильно, но на сайте в целом это не применяется. Не понимаю, в чём разница? Я создал это, и система пишет, что включено. В исходном коде обеих страниц я не вижу самого скрипта, но полагаю, это какая-то магия HTML/JavaScript.