如何在Umbraco 6多站点安装中获取当前站点的根主节点?
结构如下:
Content
--Home1
--About
--Contact
--Home2
--About
--Contact
--Home3
--About
--Contact
答案 0 :(得分:3)
var root = Model.Content.AncestorOrSelf("[YourHomeNodeDocumentType]");
我不确定这是否是Umbraco 6语法,但你想要的是AncestorOrSelf traveersing call。我有很多多站点多语言设置,我一直都在使用它。 “或者自我”部分很有趣,在某些情况下“root”节点是页面。
答案 1 :(得分:0)
这是一种享受
var rootId = (CurrentPage.Path.Split(','))[1];
答案 2 :(得分:0)
这取决于你是否想要一个动态对象或一个强类型的DynamicNode对象 - 但我倾向于采用强类型的方式来做这个,所以我依赖
var root = CurrentModel.AncestorOrSelf(1);
答案 3 :(得分:0)
根据Umbraco 6的版本,您可以使用
IPublishedContent rootNode = Umbraco.TypedContentAtRoot().FirstOrDefault();
对于具有单个根节点或
的站点IEnumerable<IPublishedContent> rootNode = Umbraco.TypedContentAtRoot();
对于具有多个根节点的站点,如您的情况。这些都适用于更接近版本7轨道的版本。
答案 4 :(得分:0)
我通常使用:
Model.Content.AncestorOrSelf(1);
或
IPublishedContent topNode = Model.Content.AncestorOrSelf(1);