2

在 Orchard 中,我有一个包含 DateTime 字段的自定义内容类型。我创建了一个规则,以便在提交新内容项时发送电子邮件。我可以使用以下令牌在电子邮件中包含 DateTime 字段的值:

{Content.Fields.MyContentType.MyDateTimeField}

我遇到的问题是替换令牌的日期/时间值是 UTC,我需要它位于为我的 Orchard 实例配置的时区中。

我看到当前日期/时间有一个标记,如下所示:

{Date.Local}

但是 .Local 似乎在 DateTime 字段令牌上无效。

看起来创建一个自定义令牌提供程序来解决这个问题并不难,但在我这样做之前,我想确保我没有错过一个更简单的现有解决方案。

4

1 回答 1

3

日期标记确实有一个Local子标记,但这里的问题是它{Content.Fields.MyContentType.MyDateTimeField}不是日期标记,它仍然只是字段。你需要得到它的实际价值。如果您查看FieldTokens.cs,您会看到日期字段标记有一个DateTime标记。所以{Content.Fields.MyContentType.MyDateTimeField.DateTime.Local}应该做我认为的伎俩。

于 2012-11-14T21:24:44.377 回答