我有以下sitecore查询:
./ancestor::*[@@templatename='Template 1' or @@templatename='Template 2']//*[@@templatename='Target']/*
有效,但如果上下文项目同时将模板1和2作为祖先,我会得到双重结果。所以我基本上想停在匹配模板的第一个祖先。我试过这样的第一场比赛:
./ancestor::*[@@templatename='Template 1' or @@templatename='Template 2'][1]//*[@@templatename='Target']/*
但这会导致错误。任何帮助表示赞赏
答案 0 :(得分:1)
试试这个:
./ancestor::*[@@templatename='Template 1' or @@templatename='Template 2']/.[1]/*[@@templatename='Target']/*
答案 1 :(得分:1)
我不认为您尝试做的事情可以通过查询实现。您尝试的位置匹配[1]基于子项的位置(索引)而不是结果中的位置。
我看到了两个选项:
当然,如果您要查询代码 - 如果您尝试为字段设置源代码,则会更加困难。