Возможно, вам нужен файл script.php в вашей установке плагина. Это будет работать, когда плагин установлен. В объявлении класса есть 4 метода, которые запускаются, когда плагин установлен, и один метод, когда он удален.
Это preflight, install, update, postflight and uninstall
.
Preflight
Это метод, который выполняется перед установкой. Предположим, вы создаете плагин для какого-то компонента, и без этого ваш плагин бесполезен. Таким образом, вам нужно подтвердить, существует ли компонент, тогда только установка должна продолжаться, иначе выдается какое-то исключение.
Install
Установка выполняется после завершения сценариев установки базы данных Joomla. Когда вы устанавливаете, вы должны поместить свои sql файлы сюда.
Update
Обновление выполняется после завершения сценариев обновления базы данных Joomla. Возвращение «false» отменит обновление и отменит все уже внесенные изменения. Когда вы обновляете свой плагин, ваш скрипт обновления должен быть здесь.
postflight
Это выполняется после того, как все остальные 3 выполнены. Postflight не может вызвать прерывание установки Joomla, но предыдущие 3 метода могут откатить установку.
Uninstall
Как следует из названия, он используется во время удаления. если вы хотите удалить любой файл базы данных, который нельзя удалить из деинсталляции xml, или вы хотите удалить любую папку с изображениями и т. д., которую вы можете сделать во время удаления. Лучше просто показать здесь сообщение об удалении.
Внутри вашего файла script.php
<?php
// No direct access
defined('_JEXEC') or die('Restricted access');
/*
* Script file for the YourPlugin
*/
class plgsystemYourPlugin{
/*
* Method to run after the plugin during install and after preflight action is completed.
*
* @return void
*/
function install($parent){
// For Testing Purposes
run your database script here
}
}
?>
Также скрипт script.php должен быть включен в файл установщика xml внутри тега скрипта
<scriptfile>script.php</scriptfile>