2014-08-29 3 views
2

Интересно, как я могу добавить сборщик файлов (по умолчанию wordpress librairy будет идеально) в всплывающее окно визуального редактора tinymce.add wordpress file picker в визуальном редакторе

В настоящее время у меня есть поле, где я должен пропустить URL-адрес картинки, если бы я мог добавить кнопку, чтобы выбрать картинку из моей библиотеки, это было бы здорово!

What I try to achieve

Вот то, что я до сих пор

editor.addButton('thumbnail', { 
      title: 'Thumbnail', 
      image: url+'/../images/icon-thumbnail.png', 
      onclick: function() { 
       // Open window 
       editor.windowManager.open({ 
        title: 'Thumbnail', 
        width: 940, 
        height: 150, 
        body: [ 
    //I have to change this line---------> {type: 'textbox', name: 'url', label: 'Media URL'},<----- Is there an option to put a filepicker here ? 
         {type: 'textbox', name: 'caption', label: 'Caption'}, 
         {type: 'checkbox', name: 'lightbox', value: '1', label: 'Lightbox'} 
        ], 
        onsubmit: function(e) { 
         if(e.data.url==''){ 
          alert('you have to provide the media\'s URL'); 
          e.stopPropagation(); 
          e.preventDefault(); 
         }else{ 
          // Insert content when the window form is submitted 
          var shortCode = '[thumbnail url="'+e.data.url+'"'; 
          if(e.data.caption != ''){ 
           shortCode = shortCode+' caption="'+e.data.caption+'"'; 
          } 
          if(e.data.lightbox){ 
           shortCode = shortCode+' lightbox=true'; 
          } 
          shortCode = shortCode+' ]'; 
          editor.insertContent(shortCode); 
         } 
        } 
       }); 
      } 
     }); 
+0

Вот как вы можете добавить пользовательскую кнопку в TinyMCE: http://www.tinymce.com/wiki. php/API3: method.tinymce.Editor.addButton Все, что вам нужно, это настроить параметры wordpress в отношении инициализации tinymce. – bodi0

+0

Извините, если я не был ясен, у меня уже есть моя кнопка, и она отображает мои всплывающие окна (изображение прикрепляется к моему вопросу), на самом деле мне просто нужно заменить текстовое поле в этом всплывающем окне файловым пиксером – 0x1gene

ответ

0

Вы можете прочитать полезную статью this, this также может помочь.

Я dont't хочет скопировать и вставить текст из статей, но в основном вы должны создать пользовательскую функцию PHP в functions.php файле вашей темы, которая будет обрабатывать диалоговые медиа дисплей, а затем включите его с add_action() на событиях admin_print_scripts.

Последняя часть является использование некоторого JavaScript и загрузчиком внутри, как это:

jQuery(document).ready(function() { 

jQuery('#upload_image_button').click(function() { 
formfield = jQuery('#upload_image').attr('name'); 
tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true'); 
return false; 
}); 

window.send_to_editor = function(html) { 
imgurl = jQuery('img',html).attr('src'); 
jQuery('#upload_image').val(imgurl); 
tb_remove(); 
} 

}); 
Смежные вопросы