Добавить поле в указатель Umbraco 8 Members - PullRequest
1 голос
/ 25 февраля 2020

Я расширил тип члена Umbraco 8, добавив несколько настраиваемых полей.

Мне нужно иметь возможность искать участников по одному из этих полей, 'organisationName' (это его псевдоним), поэтому при просмотре Изучите, я пытался добавить это к индексу участников следующим образом:

private readonly IExamineManager _examineManager;

    public CustomizeIndexComponent(IExamineManager examineManager)
    {
        _examineManager = examineManager;
    }

    public void Initialize()
    {
        // get the external index
        if (!_examineManager.TryGetIndex("MembersIndex", out var index))
            return;

        // add a custom field type
        index.FieldDefinitionCollection.TryAdd(new FieldDefinition("organisationName", FieldDefinitionTypes.FullText));

    }

когда я ставлю точку останова после TryAdd, я вижу новое поле, но в бэк-офисе его нет, когда я смотрю в индексе участников.

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

1 Ответ

1 голос
/ 25 февраля 2020

Я думаю, что большинство людей создают свой собственный индекс, как здесь: https://our.umbraco.com/forum/developers/extending-umbraco/72299-umbraco-7-backoffice-member-search-by-custom-properties#comment -277928

Но я бы лично получил доступ к API членства с помощью GetMembersByPropertyValue. Это очень легко сделать звонок на член API с помощью контроллера Umbraco API. https://our.umbraco.com/documentation/reference/management/services/memberservice/ (здесь приведен пример только для отображения нескольких строк).

/ umbraco / api / SearchMemberApi / ReturnMembersWith

enter image description here

...