2012-05-30 176 views
3

工具欄如何顯示在定義的位置(具有特定ID的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

這一直是我的問題,幾個月前。您只需將外部工具欄移動到您想要的位置即可。我在我的一個插件中寫了一個函數。 在我的頁面上,我創建了一個帶有「externalToolbarWrapper」類的div,我在其中插入了工具欄。這是這個功能。你可能需要調整一下,但認爲這對你有幫助。

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 
    }, 

更新:

你應該把它的OnInit(使用setup configuration parameter這裏)

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

您好感謝,但如果我必須把這個代碼?我將它添加到初始化參數中,但是這樣做什麼都沒有...... – Stefan

+1

nonono,你會把這個函數放到一個自己的插件中,或者使用setup配置參數將它包含到你的tinymce inti函數中 – Thariama

+0

ok ^,那麼我'新來tinymce。有沒有關於tinymce插件開發的描述? – Stefan