Советы TXP

Выполнение PHP-кода при установке/удалении/включении/выключении плагина

Опубликовано
Комментарии Нет

Очень часто при разработке нового плагина для textpattern нам нужно выполнить какие-то действия на сайте при его установке: создать таблицу, добавить новые параметры в раздел админ-панели “Настройки” и т. д. В Textpattern есть стандартный функционал (register_callback), чтобы это обеспечить, который позволяет очень удобно выполнять нужный PHP-код.

if (@txpinterface == 'admin') {
    add_privs('s2l_test','1,2');
    register_callback('s2l_test_install', 'plugin_lifecycle.s2l_test', 'installed');
    register_callback('s2l_test_remove', 'plugin_lifecycle.s2l_test', 'deleted');
    register_callback('s2l_test_enabled', 'plugin_lifecycle.s2l_test', 'enabled');
    register_callback('s2l_test_disabled', 'plugin_lifecycle.s2l_test', 'disabled');
}
function s2l_test_install($event, $step) {
	global $step;
	$definition = "id INT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255) NOT NULL, value VARCHAR(255) NOT NULL";
	safe_create('s2l_test_table', $definition);
}
function s2l_test_remove($event, $step) {
	global $step;
	safe_drop('s2l_test_table');
}

В примере выше есть две функции s2l_test_install и s2l_test_remove, которые вызываются при установке плагина и его удалении. Здесь у нас они при установке плагина создают таблицу s2l_test_table, а при удалении соответственно ее удаляют.

Также в textpattern`е можно исполнить код при выключении или включении плагина. Для этого выступает два коллбэка в примере s2l_test_enabled и s2l_test_disabled.

Всё как всегда просто!

Автор
Категории Создание плагинов

Комментарии

Нет комментариев к данной статье.

Комментарии

Поля обозначенные как * требуются обязательно. Перед постингом всегда делайте просмотр своего комментария.





← Старые Новые →