Автозаполнение поля пользователя при регистрации

Всем привет,

Я играю уже несколько недель, настраивая форум. Документация по темам и компонентам определенно оказалась очень полезной!

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

Сейчас я просто прошу пользователя ввести текст и сохраняю его как значение, но это меня не устраивает.
К тому же у меня есть API, которое возвращает JSON при отправке POST-запроса с поисковым запросом.
Цель — искать введенное значение через API и предлагать пользователю варианты для автодополнения.

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

Если у вас есть идеи, как лучше решить эту задачу, буду очень благодарен за помощь! :slight_smile:

Для этого понадобится плагин. Также можно посмотреть на другие примеры кода, реализующего автодополнение по категориям, чтобы понять, как это работает. Я пока не очень хорошо разбираюсь в таких вещах и думаю, что мне на это уйдёт 3–10 часов. Полагаю, кто-то, кто уже делал подобное, справится за 1–2 часа.

Привет, Джей! Да, именно этим я сейчас и занимаюсь — пишу плагин.
У меня уже есть тема/компонент, который расширяет возможности Discourse, и я активно использую документацию по созданию тем, компонентов и плагинов.

Однако конкретный случай кастомизации пользовательского поля пока остаётся для меня загадкой.
Буду очень благодарен за любую помощь.

Начать стоит с Руководства для начинающих по созданию плагинов Discourse, часть 1: создание базового плагина. Я считаю, что вам потребуется гораздо больше опыта, чтобы сформулировать вопрос, достаточно конкретный для того, чтобы кто-то мог дать дельный совет.

Однако, если вы получаете данные для поиска из внешнего источника, возможно, всё можно реализовать в компоненте темы. Ещё раз, мой лучший совет — посмотреть, как в ядре Discourse реализован подобный поиск, например, в элементах категорий и тегов.