Sitecore自定义规则

时间:2018-01-30 21:25:44

标签: c# sitecore

我在Sitecore中有自定义规则:

where person's status is [condition,Tree,root=/sitecore/content/Home/PersonStates, specified state]

我想将硬编码路径替换为指向任何文件夹的路径,该文件夹的模板ID与我指定的模板ID匹配。这是因为作者将创建这些值(根文件夹中的特定模板)。

我试过这个并且它不起作用:

where person's status is [condition,Tree,root=query:/sitecore/content/Common/Categories/*[@@templateid='{3B0461BF-9ABC-4AF1-B937-C8D225FC2313}'], specified state]

此外,我需要根据这些项目所具有的属性来限制其中一些值。 例如:作者增加了5个州。我只需要那些将活动标志设置为true的状态。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

Tree Macro不支持此功能,解决方案是创建一个允许执行查询的自定义宏。为此,您必须实现IRuleMacro并实现您的逻辑。确保对您的查询进行URL编码。另请注意,宏在调用时没有任何上下文,因此您必须自己实现。可以找到here

的示例