Domain.GetDomainsById не работает в Umbraco 6

Я пытаюсь получить язык с текущего узла, но не могу заставить его работать.

umbraco.cms.businesslogic.web.Domain.GetDomainsById(
    umbraco.uQuery.GetCurrentNode().Id
).Id

Это всегда будет возвращать 0. Любые советы, с чего начать поиск или есть ли другие способы получить текущий идентификатор языка, спасибо!


person Eric Herlitz    schedule 02.03.2014    source источник


Ответы (1)


После некоторых обширных копаний в хорошо функционирующих классах словарей я нашел библиотеку UmbracoCultureDictionary, которая содержит такие полезные вещи, как этот.

new umbraco.MacroEngines.UmbracoCultureDictionary().Language.id

В настоящее время устарел, а ссылочный класс Umbraco.Web.Dictionary.DefaultCultureDictionary является внутренним, поэтому следующий подход, вероятно, является наиболее совместимым на данный момент.

umbraco.cms.businesslogic.language.Language.GetByCultureCode(
    System.Threading.Thread.CurrentThread.CurrentUICulture.Name
).id 

umbraco.cms.businesslogic.language.Language.GetByCultureCode(
    System.Threading.Thread.CurrentThread.CurrentUICulture.Name
).FriendlyName

umbraco.cms.businesslogic.language.Language.GetByCultureCode(
    System.Threading.Thread.CurrentThread.CurrentUICulture.Name
).CultureAlias
person Eric Herlitz    schedule 02.03.2014