Как запустить скрипт php при активации плагина в joomla? - PullRequest
0 голосов
/ 14 марта 2011

Я создаю новый плагин.Я хочу запустить скрипт php во время активации плагина (только один раз, этот скрипт никогда не должен запускаться снова).Например, register_activation_hook в WordPress.Как я могу это сделать?Пожалуйста, помогите мне.

Ответы [ 2 ]

2 голосов
/ 14 марта 2011

Вот ссылка на 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
    }
}
0 голосов
/ 14 марта 2011

Нет события, позволяющего запустить скрипт при включении плагина.Вы можете сохранить в отдельном файле флаг, который сообщит вам, запускается ли плагин впервые.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...