自定义个性化条件的 NULL 属性 值

NULL property value for a custom Personalization Condition

我需要为个性化创建一个自定义条件,以检查特定时间是否已过(无日期)。 所以我创建了新的 class 如下:

public class TimePassedCondition<T> : Sitecore.Rules.Conditions.OperatorCondition<T> where T : RuleContext
{
     public string SelectedTime { get; set; }

     protected override bool Execute(T ruleContext)
     {
        //TODO: Add Logic
        return false;
    }
}

然后我在

中添加了一个新的条件定义

Sitecore/System/Settings/Rules/Elements/Date/ 我给了它以下文本: when [SelectedTime,DateTime,,the time] has passed 我还向所需组件添加了新的个性化条件和操作。 所以当我调试并打开页面时,断点被击中。

但是,我的问题是,根据我在几篇文章中看到的内容,SelectedTime 属性 应该填充我创建个性化条件时选择的日期时间,但它始终为 NULL对我来说。

我错过了什么?

注意:这是 Sitecore 8.1

完全清除个性化条件并重建它们。

个性化存储为 XML 在 <condition> 元素中,其属性名称反映您的存储变量名称。如果您重构规则文本中的底层存储变量,这是有问题的——当规则为 运行.

时,它们不会保持同步并且不会被映射