Создайте свой выпадающий список в Tinymce в Wordpress для коротких кодов - PullRequest
5 голосов
/ 09 декабря 2011

Кто-нибудь знает, как создать собственный выпадающий список в tinymce для Wordpress?Мне нужно, чтобы он работал хотя бы с WordPress 3.0.

Я искал в Интернете учебник по этому вопросу и не могу его найти.Ссылка на учебное пособие была бы отличной.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 07 января 2012

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

Комментарии в источнике DropDown-Control в tinyMCE оказались действительно полезными.

Вам просто нужно создать раскрывающийся списоксначала, используя createDropMenu(), вы можете вызвать метод add(), чтобы добавить элементы в раскрывающийся список.

/**
 * This class is used to create drop menus, a drop menu can be a
 * context menu, or a menu for a list box or a menu bar.
 *
 * @class tinymce.ui.DropMenu
 * @extends tinymce.ui.Menu
 * @example
 * // Adds a menu to the currently active editor instance
 * var dm = tinyMCE.activeEditor.controlManager.createDropMenu('somemenu');
 * 
 * // Add some menu items
 * dm.add({title : 'Menu 1', onclick : function() {
 *     alert('Item 1 was clicked.');
 * }});
 * 
 * dm.add({title : 'Menu 2', onclick : function() {
 *     alert('Item 2 was clicked.');
 * }});
 * 
 * // Adds a submenu
 * var sub1 = dm.addMenu({title : 'Menu 3'});
 * sub1.add({title : 'Menu 1.1', onclick : function() {
 *     alert('Item 1.1 was clicked.');
 * }});
 */
1 голос
/ 07 ноября 2012

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

// register button
function register_button($buttons) {  
   array_push($buttons, "btn");   
   return $buttons;  
}  

// add button
function add_button() {  
   if ( current_user_can('edit_posts') &&  current_user_can('edit_pages') )  
   {  
     add_filter('mce_external_plugins', 'add_plugin');  
     add_filter('mce_buttons', 'register_button');  
   }  
}  

// add plugin
function add_plugin($plugin_array) {  
    $plugin_array['btn'] =get_bloginfo('template_url').'/js/customcodes.js';

   return $plugin_array;  
}  

Затем вам нужно будет добавить файл js

(function() {  
    tinymce.create('tinymce.plugins.btn', {  
        init : function(ed, url) {  
            ed.addButton('btn', {  
                title : 'Add a btn',  
                image : url+'/btn.png',  
                onclick : function() {  
                     ed.selection.setContent('[btn]');  
                }  
            });  
        },  
        createControl : function(n, cm) {  
            return null;  
        },  
    });  
    tinymce.PluginManager.add('btn', tinymce.plugins.btn);  
})();  
...