Umbraco 8 - Импорт участников и ссылка на связанный контент

У меня есть функция импорта в моем приложении v8, где пользователи могут импортировать участников.

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

При добавлении участника в бэк-офис организация выбирается, когда пользователь нажимает кнопку «Добавить».

введите здесь описание изображения

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

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

var searcher = index.GetSearcher();
                var results = searcher.CreateQuery("content").NodeTypeAlias("organisation").And().Field("clientName", member.OrganisationName).Execute();
                var _id = "";
                foreach (var result in results)
                {
                    _id = result.Id;
                }
                customMember.SetValue("organisation", _id);

person DarkW1nter    schedule 23.03.2020    source источник


Ответы (1)


Я не уверен, чего вы пытаетесь достичь с помощью этого foreach, но вы используете неправильный формат для своего значения.

ContentPicker FieldType использует разделенный запятыми список Udi, а не GUID.

Так, например, значение хранится как: umb://document/0e906531af9c4244a6be542bc7dd4774,umb://document/6d00ed735cbf47e1a88a0647372b4372

Чтобы установить значение программно, вы должны использовать классы Udi, например:

var udi = Udi.Create(Constants.UdiEntityType.Document, node.Key);
customMember.SetValue("organisation", locaUdi.ToString());
person Rob    schedule 24.03.2020