Вот ссылка на Joomla Events Tutorial , содержит некоторые полезные вещи.
Прежде всего вы должны использовать системный плагин, вот Учебное пособие по системному плагину Joomla .
Вам необходимо определить событие, при котором вам нужно выполнить ваш скрипт. Я буду использовать onAfterInitialise
, который является первым системным событием.
Algo: создайте плагин с параметром конфигурации, который будет запускать плагин только один раз. Вы также можете создать отдельную таблицу БД с конфигами для ваших параметров и полей запроса / обновления в этой таблице. Когда плагин запускается в первый раз, выполните пользовательский код и установите блокировку, чтобы предотвратить выполнение в будущем.
Код:
XML Param
<params>
<param name="executeOnInitialize" type="radio" default="1"
label="Execute on Init" description="Executes custom code on System onAfterInitialise">
<option value="0">No</option>
<option value="1">Yes</option>
</param>
</params>
Метод плагина PHP
function onAfterInitialise()
{
if ($this->params->get('executeOnInitialize', 0) == 1){
// TODO: execute custom code. You can package dirs with code into your plug-in install file. Then you can `require_once` files and use them.
// TODO: updated the executeOnInitialize = 1 in the plug-ins table
}
}