我正在使用後端模塊,因此Node.GetCurrent()
不是一個選項。我需要找到一種方法來調用Node currentNode = new Node(parentNodeId);
之類的東西,並獲取該網站的根節點。我在XSLT中看過樣本,但沒有看到C#。有誰知道我能做到這一點?Umbraco - 在C中查找根節點#
即使只是獲得根節點的ID,所以我可以打電話new Node()
會很好。
我正在使用後端模塊,因此Node.GetCurrent()
不是一個選項。我需要找到一種方法來調用Node currentNode = new Node(parentNodeId);
之類的東西,並獲取該網站的根節點。我在XSLT中看過樣本,但沒有看到C#。有誰知道我能做到這一點?Umbraco - 在C中查找根節點#
即使只是獲得根節點的ID,所以我可以打電話new Node()
會很好。
的根節點始終可用爲:
var rootNode = new Node(-1);
布倫南是正確的,
var rootNode = new DynamicNode(-1);
作品以及!
更新一把umbraco 6+
public static IPublishedContent GetRootNode()
{
var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
var rootNode = umbracoHelper.TypedContentSingleAtXPath("//root"));
return rootNode;
}
這只是需要一個文件類型別名並發現使用當前一把umbraco上下文根節點作爲IPublishedContent。 UmbracoHelper也爲你提供了很多選擇。
更新一把umbraco 7(可能在早期版本的工作太)
@{
var siteroot = CurrentPage.AncestorOrSelf(1);
}
如需進一步信息,請查看文檔 - >http://our.umbraco.org/Documentation/Reference/Querying/DynamicNode/Collections
一把umbraco 7:
Umbraco.TypedContentAtRoot();
[一把umbraco。 TypedContentAtRoot()。首先()](https://our.umbraco.org/forum/developers/api-questions/47125-How-to-get-the-root-node-in-Umbraco-67#comment-168666 )可能會更好。 – 2016-07-22 18:33:20
@ThomHubers只需要一個根節點。如果currentpage在第二個根節點中,這將不起作用。 – 2016-10-26 12:41:34
這是對這個答案的補充,它返回一個根節點列表,它沒有被要求。在非第一棵樹中檢索節點根節點的最佳方法取決於用例。我在大多數情況下使用文檔類型。 – 2016-10-27 19:43:17