1

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

结构是这样的:

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

5 回答 5

3
var root = Model.Content.AncestorOrSelf("[YourHomeNodeDocumentType]");

我不确定这是否是 Umbraco 6 语法,但您想要的是 AncestorOrSelf 遍历调用。我有许多多站点多语言设置,我一直在使用它。“或自我”部分很有趣,在某些情况下,“根”节点是一个页面。

于 2014-03-30T22:12:43.760 回答
0

这是一种享受

var rootId = (CurrentPage.Path.Split(','))[1];
于 2014-03-30T20:51:07.350 回答
0

这取决于你想要一个动态对象还是一个强类型的 DynamicNode 对象——但我倾向于用强类型的方式来做,所以我依赖

var root = CurrentModel.AncestorOrSelf(1);

于 2014-03-31T10:41:53.740 回答
0

根据您可以使用的 Umbraco 6 版本

IPublishedContent rootNode = Umbraco.TypedContentAtRoot().FirstOrDefault();

对于具有单个根节点的站点或

IEnumerable<IPublishedContent> rootNode = Umbraco.TypedContentAtRoot();

对于您的情况,作为具有多个根节点的站点。这些都适用于更接近版本 7 轨道的版本。

于 2016-12-30T22:00:52.223 回答
0

我通常使用:

Model.Content.AncestorOrSelf(1);

或者

IPublishedContent topNode = Model.Content.AncestorOrSelf(1);
于 2019-10-23T21:44:06.557 回答