如何覆盖Sitecore Rich Text字段

时间:2013-08-19 19:58:42

标签: sitecore richtext

我想为Sitecore项目创建一个自定义字段,该字段继承自Sitecore Rich Text字段(Sitecore.Shell.Applications.ContentEditor.RichText)。该字段将是一个只读字段,我希望我的代码在加载/显示字段时运行,我需要覆盖该值。我所看到的是我的代码确实运行了。但是,当我在Sitecore中查看内容项时,Rich Text字段中不显示任何内容。如果我单击“显示编辑器”按钮或“编辑HTML”按钮来查看HTML,我的HTML内容就在那里。如果我然后关闭小Sitecore弹出窗口并返回内容项,我现在可以看到我的HTML。问题是它第一次进入屏幕时不会显示。我觉得我没有超越基本控制的正确方法。这是我的代码

public class MyCustomField : Sitecore.Shell.Applications.ContentEditor.RichText
{
  protected override void OnLoad(EventArgs e)
  {
    ...insert custom code here to build HTML string...
    base.Value = _myHTML;
    base.OnLoad(e);
  }
}

1 个答案:

答案 0 :(得分:1)

我明白了。我压倒了错误的方法。一旦我切换它以覆盖OnPreRender方法它工作正常。代码应如下所示:

public class MyCustomField : Sitecore.Shell.Applications.ContentEditor.RichText
{
  protected override void OnPreRender(EventArgs e)
  {
    ...insert custom code here to build HTML string...
    this.Value = _myHTML;
    base.OnPreRender(e);
  }
}