DataFactory.getChildren возвращает нулевые результаты на странице, но не в CMS

#episerver #episerver-6-r2

#episerver #episerver-6-r2

Вопрос:

У меня странная проблема, которая начала появляться после обновления EPiServer CMS 6 до EPiServer CMS 6 R2.

 DataFactory.Instance.GetChildren(page.ParentLink);
  

Приведенный выше код не возвращает дочерних элементов, когда я запускаю его на самом сайте, но когда я использую режим редактора и перехожу на страницу, я получаю 36 результатов (что правильно). Datafactory работает в любом другом месте на сайте, и он отлично работает для шведского сайта, однако он не работает ни для какого другого языка. Я должен отметить, что это работало на всех языках до обновления сайта до CMS 6 R2.

Мне нужны эти дочерние элементы! Есть идеи?

Ответ №1:

Опубликованы ли дочерние страницы для этих языков?

Помогает ли это? Это для CMS 5, но принцип тот же.

http://labs.episerver.com/en/Blogs/Mari-Jorgensen/Dates/2009/2/Breaking-change-in-GetChildren/

Комментарии:

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

Ответ №2:

Удалось решить эту проблему, указав языковую ветвь в вызове. Не нужно было делать это до Epi 6 R2, и я все еще думаю, что странно, что он работает в режиме редактора, но не на самом сайте.

 DataFactory.Instance.GetChildren(page.ParentLink, new LanguageSelector(page.LanguageBranch));
  

Комментарии:

1. Вы LanguageSelector.AutoDetect() также можете попробовать.