фрагменты кода для плагина ckeditor? - PullRequest
2 голосов
/ 18 февраля 2012

Используя CKeditor, я хочу предоставить простой способ вставки небольшого количества html-кода из выпадающего списка или аналогичного. Это возможно без плагинов или для этого существует плагин?

пример:

Toolbar:[ ][ ] [comboBox] 
               |article image         | => (inserts <img src="aimage/{{id}}"/>
               |full-width-2col-table | => (inserts <table width="100%"><tr>..

({{id}} будет заменен на ajax, но это уже другая история ...)

С уважением,

1 Ответ

1 голос
/ 19 февраля 2012

Я работал над подобной проблемой всего несколько дней назад, поэтому я удалил плагин, который сделал.

Создайте папку в каталоге плагинов CK под названием «myinsert». Создайте файл с именем plugin.js и вставьте в него следующее:

CKEDITOR.plugins.add( 'myinsert',
{
init: function( editor )
{
    editor.addCommand( 'insertMycode',
        {
            exec : function( editor )
            {    
                var timestamp = new Date();
                editor.insertHtml( 'Some Code Here.' );
            }
        });


    editor.ui.addButton( 'Mycode',
    {
        label: 'Insert Timestamp',
        command: 'insertMycode',
        icon: this.path + 'tag.gif'
    } );
}
} );

Вам нужно будет включить значок в этот каталог, иначе кнопка не будет отображаться должным образом.

Далее, в вашем скрипте для вызова вашего редактора, поместите это: extraPlugins : 'myinsert', Например:

<script type="text/javascript">
CKEDITOR.replace( 'editor1', {
    extraPlugins : 'myinsert',
    toolbar : 'EditPost',
    uiColor : '#BBB',   
}); 
</script>

Затем просто добавьте имя функции в настройки панели инструментов, где бы это ни было.

    { name: 'tools', items : [ 'Maximize', 'ShowBlocks','-','About', 'Mycode' ] }

Если вы переименуете функцию или папку, просто убедитесь, что они должны иметь одинаковые имена. Кроме того, имя, которое вы вводите на панели инструментов, должно соответствовать имени в editor.ui.addButton()

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