如何读取子项sitecore中的父项值

本文关键字:sitecore 何读取 读取 | 更新日期: 2023-09-27 18:19:00

是否有办法获取sitecore中子项当前上下文的父项值

我可以访问当前上下文中字段的标准值,但不能访问实际设置的值。

请让我知道这是否可以实现。

如何读取子项sitecore中的父项值

是的,可以从当前上下文中检索父项(及其所有字段),如下所示:

MultilistField parentMultilistField = Sitecore.Context.Item.Parent.Fields[...];
var parentTitle = Sitecore.Context.Item.Parent["Title"];

…或者使用递归甚至Sitecore查询向上遍历多个级别:

var parentItem = Sitecore.Context.Item.Axes.Select.SelectSingleItem("./ancestor-or-self::*[@@templatekey = 'sometemplate']");

如果你正在使用玻璃映射器,你可以用[SitecoreParent]或[SitecoreQuery(…)]属性装饰你的属性,像这样:

[SitecoreParent]
public virtual MyBaseItem Parent { get; set; }
[SitecoreQuery("./ancestor-or-self::*[@@templatekey='sometemplate']", IsRelative = true)]
public virtual MyBaseItem RootItem { get; set; }