Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# sitecore';来源';模板生成器中的字段_C#_Asp.net_Content Management System_Sitecore_Sitecore6 - Fatal编程技术网

C# sitecore';来源';模板生成器中的字段

C# sitecore';来源';模板生成器中的字段,c#,asp.net,content-management-system,sitecore,sitecore6,C#,Asp.net,Content Management System,Sitecore,Sitecore6,我正试图使用查询符号(或xpath——无论哪一种有效)设置模板的源字段,但它们似乎都不起作用 我的内容树是一个多站点内容树: France --Page 1 ----Page1A -------Page1AA --Page 2 --Page 3 --METADATA ----Regions US --Page 1 ----Page1A -------Page1AA --Page 2 --Page 3 --METADATA ----Regions 每个站点都有自己的元数据文件夹,我希望这样,当

我正试图使用查询符号(或xpath——无论哪一种有效)设置模板的源字段,但它们似乎都不起作用

我的内容树是一个多站点内容树:

France
--Page 1
----Page1A
-------Page1AA
--Page 2
--Page 3
--METADATA
----Regions

US
--Page 1
----Page1A
-------Page1AA
--Page 2
--Page 3
--METADATA
----Regions
每个站点都有自己的元数据文件夹,我希望这样,当在每个主要国家/地区节点内添加页面时,我希望这些值反映该站点元数据中的内容。我现在有两个不同的字段-droplink和treelistex字段。所以我想我可以只获取一个国家/地区站点的父项,然后获取该站点的元数据文件夹。在这两个字段中放置以下查询时,会得到不同的结果:

 query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
  • 对于droplink字段,我只获得第一个区域(一项)
  • 对于treelistex字段,我得到了整个内容树
然后我尝试稍微修改一下查询,去掉了“query”符号

 ./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
如果我转到developer center/xpath builder,并将上下文节点设置为主国家/地区站点下的任何项目,它会返回我所需的内容,但当我将其放入源代码中时,我会得到这两种情况下的整个内容树


救命啊

这里的内容应该适用于Droplink字段。也许你指的是Droptree

query:./ancestor::*[@@templatename='CountryHome']/METADATA/Regions/*
至于树列表,我认为默认的树列表字段不支持Sitecore查询。但是,介绍如何创建支持它的自定义树列表。

支持Sitecore查询的字段 您可以使用语法
query:
fast:
(对于FastQuery):

  • 滴水器
  • 分组液滴仪
  • 滴墨
  • 分组液滴
  • 检查表
  • 多列表
  • 滴灌树
支持参数化数据源的字段 您可以在其中对参数化数据源使用增强语法 查询:

  • Droptree†
  • 树人
  • 树突
†Droptree仅支持
数据源
数据库名
参数

增强的查询字符串语法包括以下参数:
  • 数据源
  • 数据库名
  • 允许多重选举
  • IncludeItemsForDisplay
  • 排除用于显示的项目
  • IncludeTemplates用于选择
  • ExcludeTemplatesForSelection
  • 包括用于显示的模板
  • 排除用于显示的模板
它们是这样使用的:
Datasource=/sitecore/content/home/Products/&IncludeTemplatesForDisplay=产品类别&ExcludeTemplatesForSelection=产品描述&IncludeTemplatesForSelection=产品类别


Mark Ursino有一篇关于如何使用这种语法的文章。

啊,是的,我有一个droptree,而不是droplink。但这很糟糕——手册上都说,任何带有“源”字段的字段都应该工作。所以这在droptree上不起作用?我发现不同的字段支持不同的查询语法变体。看起来它们是完全独立开发的。最好是用sitecore提交一张票证。感谢您的回复!最后,我创建了支持xpath的自定义字段,并使用了它。但是这对于更简单的查询来说绝对有用。顺便说一句-你发布链接的博客是马克·乌西诺的博客:)布赖恩·佩德森的博客信息量也很大。排除参数在
Droptree
上似乎不起作用,但它们在
Treelist
中起作用。啊!SDN表示只有
TreeList
TreeListEx
支持参数化数据源。使
Droptree
正式完全无用。从SC 6.6开始,Droptree接受带有query:format的SC查询。刚刚在我正在做的一个项目中确认。