Очень часто при разработке нового плагина для 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.
Всё как всегда просто!
Комментарии
Нет комментариев к данной статье.
Комментарии