Razor 带富文本字段的Sitecore邮件模板

Razor 带富文本字段的Sitecore邮件模板,razor,sitecore,sitecore8,Razor,Sitecore,Sitecore8,我正在尝试在Sitecore中创建自定义邮件系统。为此,我希望能够在Sitecore后端的邮件项目中使用razor代码。此代码将放在正文字段中,正文字段将是一个富格文本。目前我正在处理一个Sitecore 8实例 现在我的问题来了。每当我输入一段代码时,如: @for (var i = 0; i > @model.persons.count; i++){ 富格文本字段将代码行更改为: @for (var i = 0; i < @model.documents.count;

我正在尝试在Sitecore中创建自定义邮件系统。为此,我希望能够在Sitecore后端的邮件项目中使用razor代码。此代码将放在正文字段中,正文字段将是一个富格文本。目前我正在处理一个Sitecore 8实例

现在我的问题来了。每当我输入一段代码时,如:

@for (var i = 0; i > @model.persons.count;  i++){
富格文本字段将代码行更改为:

@for (var i = 0; i < @model.documents.count;  i++){
甚至更糟

有人知道为什么会发生这种情况吗?我能做些什么来防止这种情况。因为现在每当有人想更改电子邮件时,它都会发生变化,这很烦人


提前感谢。

在这种情况下,我会在富文本电子邮件消息字段中使用某种令牌。例如$persondata$


然后我将使用管道处理器用真实数据替换电子邮件中的令牌。这使它保持了良好和干净,并且对编辑来说更容易。

我也使用了这种方法,使用RazorEngine用动态模型解析richtext,但实际上仍然使用它。但是我尽量避免写属性以外的任何事情,因为你提到的问题+客户总是会把事情搞砸,因为他们缺乏关于razor语法的知识,也没有智能感知来帮助他们

对于单个文档,我会选择另一个富文本字段

<li>@model.documentName - @model.documentPrice</li>
  • @model.documentName-@model.documentPrice
  • 并在将文档填充到model.parseddocuments属性之前对其进行迭代/解析。这样你只需要申请

    <ul>@model.parseddocuments</ul>
    
      @model.parseddocuments

    我不认为您可以在Sitecore的富文本字段中编写代码,然后在呈现项目/电子邮件时执行该代码。当我在显示原始值的同时添加上面的代码片段时,它就像一个符咒。只是想知道是否有一种方法不必在每次有人编辑邮件时都使用原始值视图。像Marek一样,我没有意识到你可以将代码放在那里-但通过一些调整,你可以修改富文本字段如何重新格式化你输入的内容:(这是为SC6.x编写的,但在较新的版本中可能也适用)