ckeditor bidi force使用方向rtl或ltr

时间:2014-03-06 13:55:21

标签: ckeditor

我正在使用ckeditor 4并希望允许我的客户使用rtl或ltr指示 - 但由于我要将输出作为电子邮件发送,我希望始终使用direction属性。

出于某种原因,如果我使用希伯来语或阿拉伯语版本的ckeditor - 它只是省略了rtl而不是写它。有没有办法迫使ckeditor写出方向?

我尝试了这个设置:

config.language = 'he';          
config.contentsLangDirection = 'ltr';

我查看了ckeditor文档,但没有发现强制方向标记。

2 个答案:

答案 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';
            }
        }
    });
} );