Я, при создании нового плагина, долгое время бился над тем, чтобы создать свою вкладку в админ-панели Textpattern. И только недавно нашел решение. Все 2 статьи, которые мне попадались на русском языке, не могли пролить свет на эту жизненно важную потребность. Пришлось установить кучу плагинов, которые умело обращаются с новыми вкладками и разбираться в дебрях их php`шного кода. Короче, скука.
Выкладываю здесь на блоге для того, чтобы не забыть в последствии как это повторить. Ну, а если этот кусок кода пригодиться кому-то еще, то буду признателен.
Плагины проще создавать через другой плагин – ied_plugin_composer, которым я и пользуюсь. Спасибо Стиву за это.
Чтобы не ходить вокруг, да около, сразу выкладываю небольшой кусок кода, который отвечает за создание вкладки:
if(@txpinterface == 'admin') {
add_privs('НАЗВАНИЕ_СОБЫТИЯ', '1,2');
register_tab("extensions", "НАЗВАНИЕ_СОБЫТИЯ", "НАЗВАНИЕ_ВКЛАДКИ");
register_callback("НАЗВАНИЕ_СОБЫТИЯ", "ВЫЗЫВАЕМАЯ_ФУНКЦИЯ");
}
function ВЫЗЫВАЕМАЯ_ФУНКЦИЯ ($event, $step) {
pagetop("Название новой вкладки");
echo '<p>Hello, word!</p>';
}
Русские слова, соответственно, меняем на свои значение.
extensions – это место где должна размещаться вкладка. В моем примере, новая вкладка размещается в разделе админ-панели Расширения и может принимать значение:
- content (вкладка Содержание);
- presentation (вкладка Оформление);
- admin (вкладка Настройки);
- extensions (вкладка Расширения).
Этот код соответственно должен быть помещен в тело плагина и у плагина должна стоять отметка либо Admin, либо Admin + Public. Без этого работать ничего не будет.
P.S. Не знаю, случайность это или просто совпадение, но саму ВЫЗЫВАЕМУЮ_ФУНКЦИЮ нужно размещать в самом конце плагина. У меня, по-другому, отказывалось работать. Короче сплошное шаманство.
Комментарии
Нет комментариев к данной статье.
Комментарии