Umbraco 8 - Импорт членов и ссылки на связанный контент - PullRequest
0 голосов
/ 23 марта 2020

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

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

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

enter image description here

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

Вот пока код, показывающий запрос 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);

1 Ответ

0 голосов
/ 24 марта 2020

Я не уверен, что вы пытаетесь достичь с помощью этого 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());
...