我正在使用ckeditor 4并希望允许我的客户使用rtl或ltr指示 - 但由于我要将输出作为电子邮件发送,我希望始终使用direction属性。
出于某种原因,如果我使用希伯来语或阿拉伯语版本的ckeditor - 它只是省略了rtl而不是写它。有没有办法迫使ckeditor写出方向?
我尝试了这个设置:
config.language = 'he';
config.contentsLangDirection = 'ltr';
我查看了ckeditor文档,但没有发现强制方向标记。
答案 0 :(得分:2)
您应该在配置文件中使用public class Program
{
static void Main(string[] args)
{
var obj = new TestProperty();
var propertyExpr2 = Expression.Property(Expression.Constant(obj), "Sample");
propertyExpr2 = Expression.Property(propertyExpr2, "GetValueOrDefault");
Console.WriteLine(Expression.Lambda<Func<string>>(propertyExpr2).Compile()());
Console.ReadLine();
}
}
public static class StringExtension
{
public static string GetValueOrDefault(this string s)
{
return s ?? "Testing";
}
}
public class TestProperty
{
public string Sample { get; set; }
}
或config.contentsLangDirection = 'rtl';
。
或者:
config.contentsLangDirection = 'ltr';
您可以找到文档here
您还可以使用BIDI plugin。
答案 1 :(得分:0)
这个问题已经很老了,我需要相同的功能,所以我做了以下工作,它解决了这个问题,所以也许它仍然可以帮助某个人。
例如,可以通过检查“ p”元素的dir属性来实现。 如果为空-那么它的RTL-因此通过编写以下代码来强制使用它:
CKEDITOR.on( 'instanceReady', function ( event ) {
event.editor.dataProcessor.htmlFilter.addRules( {
elements: {
p: function( element ) {
if(element.attributes.dir=="" || element.attributes.dir==null)
element.attributes.dir = 'rtl';
}
}
});
} );