Как получить контент из определенной культуры в Umbraco

У меня есть двуязычный веб-сайт с немецким языком, установленным в качестве языка по умолчанию, и я пытаюсь получить узлы содержимого на английском языке из моего SurfaceController следующим образом:

Umbraco.Content(ID);

И я попытался изменить текущую культуру следующим образом:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

Но безуспешно.


person Josip Pavlović    schedule 20.09.2019    source источник
comment
Вы смотрели на новые языковые варианты в V8? our.umbraco.com/documentation/Getting-Started/Backoffice/ - и вот как это сделать во внешнем интерфейсе: our.umbraco .com/documentation/Getting-Started/Дизайн/   -  person Jannik Anker    schedule 23.09.2019
comment
Я нашел ответ на форуме Umbraco после нескольких дней поиска.   -  person Josip Pavlović    schedule 23.09.2019


Ответы (1)


Нашел ответ:

private readonly IVariationContextAccessor _variationContextAccessor;

public ContentApiController(IVariationContextAccessor variationContextAccessor)
{
    _variationContextAccessor = variationContextAccessor;
}

public IHttpActionResult Get(int id, string culture)
{
    _variationContextAccessor.VariationContext = new VariationContext(culture);
    var cnt = Umbraco.Content(id);
    return Ok(cnt.Name);
}
person Josip Pavlović    schedule 23.09.2019
comment
Спасибо. Я не знаю, почему у этого так мало голосов - это большая и распространенная проблема, и ваш ответ отлично работает. - person Florian D.; 11.07.2020