CKEditor.net таблица классов - PullRequest
0 голосов
/ 13 марта 2012

В веб-приложении asp.net C # я использую CKEditor 3.6.2 и сталкиваюсь со следующей проблемой:

В моей таблице стилей у меня есть CSS-класс для использования в таблицах, и я пытаюсь сделать этот класс уже заполненным в полях «Свойства таблицы», «Дополнительно» и в поле «Классы таблицы стилей».

Я хочу, чтобы это поле было заполнено строкой "blue_table", которая является именем моего CSS-класса. Я работаю с источником плагина "таблица". Я понял, как изменить значение полей, таких как ширина и высота, но мне нужно поле «Классы стилей».

Кто-нибудь из вас знает, как установить значение по умолчанию для этого поля?

Ответы [ 2 ]

2 голосов
/ 11 июня 2012

Вам не нужно редактировать файл ckeditor.js, чтобы настроить редактор. Вы можете добавить следующее либо к config.js и использовать его для всего сайта, либо на любой странице, где вы используете CKEditor (внутри тега script, как показано ниже, после полей редактора, которые вы используете).

<script type="text/javascript">
    CKEDITOR.on( 'dialogDefinition', function( ev ) {

        // Take the dialog name and its definition from the event data.
        var dialogName = ev.data.name;
        var dialogDefinition = ev.data.definition;

        // Check if the definition is from the dialog we're
        // interested on (the Table dialog).
        if ( dialogName == 'table' ) {

            // Set the tab
            var advTab = dialogDefinition.getContents( 'advanced'); 

            // Grab the field
            var stylesField = advTab.get('advCSSClasses');

            // Set the default value
            stylesField['default'] = 'blue_table';
        }
    });
</script>

Это изменение из документации CKEditor . Самое сложное - это определить идентификаторы и имена для всех полей, используемых в диалогах.

0 голосов
/ 13 марта 2012

Наконец я нашел ответ. Это свойство находится в диалоговом окне, в свойстве "advCSSClasses". Дело в том, что этот плагин находится внутри ядра js, я имею в виду ckeditor.js.

Я должен был сделать это:

children :
[
    {
        id : 'advCSSClasses',
        att : 'class',
        type : 'text',
        label : lang.cssClasses,
        'default' : 'blue_table',
        setup : setupAdvParams,
        commit : commitAdvParams
    }
]

«Проблема» в том, что мне пришлось сделать это в ckeditor.js, что не является хорошей практикой. Проблема решена, но не лучшим способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...