Поисковые пользовательские поля и дурные советы с ask.discourse.org

Возможно, это стоило бы разделить на две темы, но это пример попытки решить конкретную задачу с помощью ИИ, и я всё ещё жду ответа. :slight_smile:

Я помогаю человеку, который хочет сделать множество пользовательских полей профиля пользователя доступными для поиска. Я сказал ему, что для этого потребуется плагин, но на самом деле он не нужен. Вы можете включить опцию «Доступно для поиска» в настройках пользователя (как давно это уже работает?):

Я даже могу ввести / и начать искать по пользовательским полям профиля — поиск работает по мере ввода!

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

Поэтому я обратился на ask.discourse.org:

https://ask.discourse.com/discourse-ai/ai-bot/shared-ai-conversations/FOFRYdsQy6B--c0W-X6K4A

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

Поиск по местоположению (если оно находится в пользовательском поле) возможен (с помощью хитрости с пользовательским полем), но, похоже, эта тонкость учитывается только при поиске в каталоге пользователей?

«Не существует встроенного способа поиска по пользовательским полям через строку поиска». Так я и думал! Я даже предложил им большую сумму за разработку плагина, который бы это делал, а потом выяснилось, что такой функционал уже существует.

Я тоже предложил решение через Data Explorer — тоже плохая идея. (Значит, я так же глуп, как и ИИ!?!?!)

Кроме того, ИИ часто пытается решать проблемы для всего мира, а не только для Discourse:

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

Возвращаемся к проблеме поиска по адресам

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

А, не так давно. :slight_smile:

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

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

Однако вы должны быть в состоянии извлечь эту информацию через «Исследователь данных»? Но я предполагаю, что это предназначено для использования пользователями, а не для отчётов администратора?

Согласен.

Да (data explorer был моим предложением, пока я не понял, что эта функция уже много лет находится в ядре). Они хотят, чтобы пользователи могли находить друг друга, например, если у них одинаковое снаряжение или они путешествуют в другой город.

Отложим на минуту понятие «идеала»…

Если у вас уже есть набор других пользовательских полей, которые можно искать, то создание нового поля «Местоположение» (Location) вероятно будет самым плавным вариантом. :thinking:

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

На самом деле они начали именно с этого (они ранее использовали «Местоположение» для чего-то другого). Но теперь они хотят использовать плагин «Местоположение», который, по какой-то причине, тоже использует «Местоположение». :rofl:

Ах, понятно. Это немного сложнее. :slight_smile:

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

(Это больше связано с тем, какое из них вы считаете «основным», а не с возможностью отказаться от одного из них)

Кажется, вам, возможно, останется скопировать значение пользовательского поля в поле местоположения по умолчанию. :thinking: (и скрыть его, чтобы сделать его скорее «мета-данными» только для использования плагином «Местоположение»)

Можно ли добавить эту возможность в плагин «Местоположение», чтобы это работало для всех?

@pfaffman, было ли здесь какое-то решение, чтобы мы могли закрыть эту тему?

@JammyDodger, если это так, то это выглядит как очень обоснованная просьба о новой функции. Хотите, чтобы я создал тему #feature, или вы сами это сделаете?

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

Хотя наличие электронной почты — это определённо частный случай.