站点特定富文本编辑器的替代方法 CSS?
Alternative Ways to Do Site-specific Rich Text Editor CSS?
我一直想实现站点特定的富文本 css 类 但遇到了一个问题。在这种环境下,我无法改变任何全局。 tutorials 要求我更改一个 EditorPage.aspx 文件。我无法做到这一点。有没有其他方法可以为富文本编辑器设置站点特定 css 类?
我正在使用 Sitecore 7.5。
谢谢!
这与 which I answered about Multtiple RTE Class Styles, which I followed up with a blog post 非常相似,其中包含有关在 Sitecore 富文本编辑器中加载站点特定 css 样式的详细信息。
创建一个新的 EditorConfiguration
class 继承自 Sitecore.Shell.Controls.RichTextEditor.EditorConfiguration
并覆盖 SetupStylesheets()
方法。然后根据您的 HTML 编辑器配置文件在 'core' 数据库中注册新的配置类型,然后将模板中 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<Item> stylesheets = Sitecore.Context.ContentDatabase.SelectItems(query);
foreach (Item item in stylesheets)
{
this.Editor.CssFiles.Add(item["Stylesheet"]);
}
base.SetupStylesheets();
}
我一直想实现站点特定的富文本 css 类 但遇到了一个问题。在这种环境下,我无法改变任何全局。 tutorials 要求我更改一个 EditorPage.aspx 文件。我无法做到这一点。有没有其他方法可以为富文本编辑器设置站点特定 css 类?
我正在使用 Sitecore 7.5。
谢谢!
这与
创建一个新的 EditorConfiguration
class 继承自 Sitecore.Shell.Controls.RichTextEditor.EditorConfiguration
并覆盖 SetupStylesheets()
方法。然后根据您的 HTML 编辑器配置文件在 'core' 数据库中注册新的配置类型,然后将模板中 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<Item> stylesheets = Sitecore.Context.ContentDatabase.SelectItems(query);
foreach (Item item in stylesheets)
{
this.Editor.CssFiles.Add(item["Stylesheet"]);
}
base.SetupStylesheets();
}