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 的状态。

我该怎么做?

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

最新更新