自定义个性化条件的 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>
元素中,其属性名称反映您的存储变量名称。如果您重构规则文本中的底层存储变量,这是有问题的——当规则为 运行.
时,它们不会保持同步并且不会被映射
我需要为个性化创建一个自定义条件,以检查特定时间是否已过(无日期)。 所以我创建了新的 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>
元素中,其属性名称反映您的存储变量名称。如果您重构规则文本中的底层存储变量,这是有问题的——当规则为 运行.