Umbraco - Поиск корня Node в С#

Я работаю над бэкэнд-модулем, поэтому Node.GetCurrent() не вариант. Мне нужно найти способ вызвать что-то вроде Node currentNode = new Node(parentNodeId); и получить root node сайта. Я видел образцы в XSLT, но ничего для С#. Кто-нибудь знает, как я могу это сделать?

Даже просто получить идентификатор корня node, чтобы я мог вызвать new Node(), было бы здорово.

Ответ 1

Корневой каталог всегда доступен как:

var rootNode = new Node(-1);

Ответ 3

Бреннан прав,

var rootNode = new DynamicNode(-1);

работает также!

Ответ 4

Обновление для Umbraco 6 +

public static IPublishedContent GetRootNode()
{
    var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
    var rootNode = umbracoHelper.TypedContentSingleAtXPath("//root"));

    return rootNode;
}

Это просто берет псевдоним типа документа и находит корень node как IPublishedContent, используя текущий контекст Umbraco. UmbracoHelper также предоставляет вам несколько вариантов.

Ответ 5

Umbraco 7:

Umbraco.TypedContentAtRoot();