这与我回答的关于多个RTE类样式的
previous Stackoverflow question非常相似,我跟进了
blog post,其中包含有关在Sitecore富文本编辑器中加载站点特定CSS样式的详细信息.
创建一个继承自Sitecore.Shell.Controls.RichTextEditor.EditorConfiguration的新EditorConfiguration类,并覆盖SetupStylesheets()方法.然后根据HTML编辑器配置文件在“核心”数据库中注册新的配置类型,然后将模板中RTE字段的来源设置为您的富文本配置文件.
在SetupStylesheets()方法中,您需要使用xpath查询来获取特定于站点的css文件列表:
protected override void SetupStylesheets()
{
string id = WebUtil.GetQueryString("id");
string query = "/*/content//*[@@id='" +id+ "']/ancestor::*[@@templateid='{root-guid}']//*[@@templateid='{style-folder-guid}']/*";
IList stylesheets = Sitecore.Context.ContentDatabase.SelectItems(query);
foreach (Item item in stylesheets)
{
this.Editor.CssFiles.Add(item["Stylesheet"]);
}
base.SetupStylesheets();
}