2012-05-30 3 views
3

Как панель инструментов может отображаться на определенном месте (div с определенным идентификатором)?Расположение панели инструментов TinyMCE

Я попытался theme_advanced_toolbar_location: «внешний» и установив положение «mceExternalToolbar» (как предложено здесь: TinyMCE - external toolbar position), но на самом деле не нравится это решение, так как он использует фиксированное позиционирование .... Есть вариант, как где разместить div.

доку говорит по theme_advanced_toolbar_location:

.. adds the toolbar to a DIV element and sets the class of this DIV to "mceExternalToolbar". ... but not if you can change the div. is there maybe a possibilty to change this code?

BR, Стефан

+0

+1 Хороший вопрос – Thariama

ответ

2

Это было проблемой для меня несколько месяцев назад. Все, что вам нужно сделать, это переместить внешнюю панель инструментов в нужное место. Я написал функцию в одном из моих плагинов. На моей странице я создал div с классом «externalToolbarWrapper», в который я вставляю панель инструментов. Вот эта функция. Возможно, вам придется немного подкорректировать его, но подумайте, что это поможет вам.

showExternalToolbar: function(){ 

     if (this.editor.getParam('theme_advanced_toolbar_location') != 'external') return; 

     if (!document.getElementById('externalToolbarWrapper')) $(document.body).prepend('<div id="externalToolbarWrapper"></div>'); 

     var $toolbar = $('#'+this.editor.id + '_external'); 

     // inserts the external toolbar in the external wrapper 
     $('#externalToolbarWrapper').append('<div id="replacementDiv"></div>'); 

     $('#replacementDiv').replaceWith($toolbar.show()); 
     $toolbar.css('top','0px'); 
     $toolbar.css('display','block'); 

     $('#' + this.editor.id + '_external_close').remove(); 
     $('#' + this.editor.id +'_toolbargroup').css('width', innerWidth || 800); // innerwidth is an integer value 
    }, 

Update:

Вы должны назвать его OnInit (используйте setup configuration parameter здесь)

setup : function(ed) { 
     ed.onInit.add(function(ed) { 
      // place your code here 
     }); 
    }, 
+0

привет спасибо, но там, где я должен поставить этот код? Я добавил его к параметрам init, но это ничего не делает ....... – Stefan

+1

nonono, вы будете использовать эту функцию в своем собственном плагине или включить ее с помощью параметра конфигурации настройки в вашу функцию tinymce inti – Thariama

+0

ok ^, хорошо я новый для tinymce. Есть ли упоминание о разработке плагина tinymce? – Stefan

Смежные вопросы