如何在joomla中激活插件时运行php脚本?

时间:2011-03-14 05:57:26

标签: php plugins joomla

我正在创建一个新插件。我想在插件激活时运行一个php脚本(只有一次,该脚本必须永远不会再运行)。例如wordpress中的register_activation_hook。我怎样才能做到这一点?请帮帮我。

2 个答案:

答案 0 :(得分:2)

这是Joomla Events Tutorial的链接,有一些有用的东西。

首先你应该使用System插件,这里是Joomla System Plug-in tutorial

您需要确定执行脚本所需的事件。我将使用onAfterInitialise这是第一个系统事件。

Algo:创建一个带有config参数的插件,该插件只会触发一次插件。您还可以为该param创建一个单独的db表,并为该参数创建查询/更新字段。当第一次触发插件时执行自定义代码并设置锁定以防止将来执行..

代码:

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
    }
}

答案 1 :(得分:0)

没有任何事件可以让您在插件启用时运行脚本。您可以在单独的文件中保存一个标志,告诉您它是否是第一次运行该插件。