获取Umbraco 6多站点安装的根节点

时间:2014-03-29 20:31:19

标签: umbraco umbraco7

如何在Umbraco 6多站点安装中获取当前站点的根主节点?

结构如下:

Content
  --Home1
    --About
    --Contact
  --Home2
    --About
    --Contact
  --Home3
    --About
    --Contact

5 个答案:

答案 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);