Создание своей вкладки в админ-панели TXP

Я, при создании нового плагина, долгое время бился над тем, чтобы создать свою вкладку в админ-панели 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. Не знаю, случайность это или просто совпадение, но саму ВЫЗЫВАЕМУЮ_ФУНКЦИЮ нужно размещать в самом конце плагина. У меня, по-другому, отказывалось работать. Короче сплошное шаманство.

Комментарии:

  1. lawfunds опубликовал комментарий 22 Октябрь 2015, 17:30 #

    Какой плагин выбрать для создания панели юзеров, которые могут просматривать определенные статьи, и доски объявлений на txp?

    | Ответить
Имя
e-mail
Сайт
Текст комментария: