Подключение пользовательских полей к плагинам и компонентам темы

Мне интересно, есть ли сейчас способ (или если нет, то как его можно создать), позволяющий плагинам и компонентам тем легко получать доступ к пользовательским полям профиля.

Сначала я установил плагин Discourse Chatbot 🤖 - #239 и хотел, чтобы настройка системного промпта в плагине могла легко обращаться к пользовательским полям профиля, чтобы каждый пользователь мог настраивать промпт. В идеале эти поля должны отображаться как ключи для интерполяции, чтобы их можно было добавлять в настраиваемый текст (Creating and configuring custom user fields - #55).

Затем я недавно установил плагин Discourse Tab Bar for Mobile и подумал, что пользователям может потребоваться настраивать различные варианты кнопок. Насколько я знаю, сейчас только администратор может настраивать параметры плагина, которые контролируют, какие кнопки отображаются и в каком порядке.

Представляю, что это может быть полезно для множества других плагинов и компонентов, так как это позволит пользователям настраивать плагины/компоненты через свой профиль.

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

Есть ли у кого-нибудь идеи, как лучше всего этого добиться?

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

Мне казалось, что пользовательские поля пользователя включены в сериализатор, если они отображаются на карточке пользователя или в профиле, но, похоже, это не так. Поэтому, если вы не получите более точный ответ, вам стоит поискать плагин, который модифицирует сериализатор пользователя, в качестве примера.

Ага, хорошо, я посмотрю, спасибо :pray:

Есть какая-то идея, почему пользовательские поля не добавляются в сериализатор?

Хорошо, мне интересна эта идея. У меня есть пользовательское поле, которое я создал для своих пользователей, и я хотел бы получить к нему доступ в будущем. Я буду следить за этой темой.