只有EPiServer:
我们的客户正试图添加自定义属性在TinyMCE的编辑一个div标签 - 他们切换到HTML模式,使修改并保存网页。 那么这些属性将被删除。 这样洗HTML是TinyMCE的标准行为,并有可能将其配置为允许自定义标签的属性。
我的问题是我怎么在EPiServer配置TinyMCE的,允许自定义HTML属性? 我不认为我会在哪里能够挂接到TinyMCE中的inititialization。 并增加股利的episerver.config“安全”标签列表中没有看到任何工作(见uiSafeHtmlTags)。
例:
<div class="fb-like" data-href="http://oursite" data-send="false"></div>
就像变成
<div class="fb-like"></div>
从TinyMCE的文件,对如何添加自定义属性标签: http://www.tinymce.com/wiki.php/Configuration:extended_valid_elements
我有这个类
using EPiServer.Editor.TinyMCE;
namespace SomeNamespace
{
[TinyMCEPluginNonVisual(
AlwaysEnabled = true,
EditorInitConfigurationOptions = "{ extended_valid_elements: 'iframe[src|frameborder=0|alt|title|width|height|align|name]' }")]
public class ExtendedValidElements { }
}
而这episerver.config:
<episerver>
....
<tinyMCE mergedConfigurationProperties="valid_elements, extended_valid_elements, invalid_elements, valid_child_elements" />
</episerver>
在最近的一个项目。 它应该工作一样,如果你改变了iframe部分的div [数据HREF |数据发送。
你有2种选择:
第一
[TinyMCEPluginNonVisual(EditorInitConfigurationOptions = "{ extended_valid_elements: 'div[title|data-test]' }")]
将允许title
和data-test
在div标签。
div[*]
将允许div标签的所有属性。
第二
- 让你在TinyMCE插件从IDynamicConfigurationOptions继承
实现这样的功能:
public IDictionary<string, object> GetConfigurationOptions(){ var customSettings = new Dictionary<string, object>(); customSettings.Add("extended_valid_elements", "div[*]"); return customSettings; }
无需配置config文件什么(带有EPiServer的默认值,他们都是罚款)。
以下为我工作:
[TinyMCEPluginNonVisual(AlwaysEnabled = true, EditorInitConfigurationOptions = "{ extended_valid_elements: 'div[*]' }", PlugInName = "ExtendedValidElements", ServerSideOnly = true)]
public class TinyMceExtendedValidElements
{
}
没有变化配置。