我正在尝试使用查询表示法(或xpath - 无论哪个有效)设置模板的源字段,但它们似乎都没有工作。
我的内容树是多站点内容树:
France
--Page 1
----Page1A
-------Page1AA
--Page 2
--Page 3
--METADATA
----Regions
US
--Page 1
----Page1A
-------Page1AA
--Page 2
--Page 3
--METADATA
----Regions
每个站点都有自己的METADATA文件夹,我希望它能够在每个主要国家/地区节点中添加页面时,我希望这些值能够反映该站点的METADATA中的内容。我现在有两个不同的领域 - 一个droplink和一个treelistex字段。所以我想我可以获得一个国家站点的父项,并获取元数据文件夹。当我在这两个字段中放入以下查询时,我会得到不同的结果:
query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
然后我尝试稍微修改一下查询并将'查询'表示法取出
./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
如果我转到开发人员中心/ xpath构建器,并将上下文节点设置为主国家/地区网站下面的任何项目,它将返回我正确的内容,但是当我将其放入源代码时,我会获得整个内容两种情况都是树。
帮助!
答案 0 :(得分:43)
您可以使用语法query:
或fast:
(对于FastQuery):
您可以在参数化数据源中使用增强语法 查询:
† Droptree仅支持Datasource
和DatabaseName
参数。
使用方法如下:Datasource=/sitecore/content/home/Products/&IncludeTemplatesForDisplay=Product Category&ExcludeTemplatesForSelection=Product Description&IncludeTemplatesForSelection=Product Category
Mark Ursino在如何使用这种语法here上发表了很好的帖子。
答案 1 :(得分:14)
您在这里的内容应该与Droplink字段一起使用。也许你指的是Droptree?
query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
至于TreelistEx,我不认为默认的Treelist字段支持Sitecore查询。但是,this article描述了如何创建支持它的自定义TreeList。