EPiserver: получить список доступных языков для текущей страницы - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь получить список доступных языков для текущей страницы в EPiserver.В настоящее время у меня есть следующее:

public static IHtmlString HrefLangLinks(this PageData currentPage)
        {
            IContentRepository repo = ServiceLocator.Current.GetInstance<IContentRepository>();
            var pageLanguagesBranches = repo.GetLanguageBranches<PageData>(currentPage.ContentLink).ToList();
            var availablePageLanguages = FilterForVisitor.Filter(pageLanguagesBranches).OfType<PageData>();

            // Dictionary<String, String>
            return null;
        }

На данный момент, однако, availablePageLanguages содержит: {System.Linq.Enumerable.d__95}

Как я могу получить список именязыки?Например, de-DE, en-DE или de-AT?

1 Ответ

1 голос
/ 05 апреля 2019

Чтобы получить доступные языки конкретной страницы, вы можете прочитать свойство PageData.ExistingLanguages с текущей страницы.Это даст вам IEnumerable<CultureInfo> результат.А чтобы получить код языка от каждого объекта CultureInfo, прочитайте свойство CultureInfo.Name.

Код будет выглядеть следующим образом:

currentPage.ExistingLanguages.Select(culture => culture.Name);
...