我正在创建一个新插件。我想在插件激活时运行一个php脚本(只有一次,该脚本必须永远不会再运行)。例如wordpress中的register_activation_hook。我怎样才能做到这一点?请帮帮我。
答案 0 :(得分:2)
这是Joomla Events Tutorial的链接,有一些有用的东西。
首先你应该使用System插件,这里是Joomla System Plug-in tutorial。
您需要确定执行脚本所需的事件。我将使用onAfterInitialise
这是第一个系统事件。
Algo:创建一个带有config参数的插件,该插件只会触发一次插件。您还可以为该param创建一个单独的db表,并为该参数创建查询/更新字段。当第一次触发插件时执行自定义代码并设置锁定以防止将来执行..
代码:
<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>
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)
没有任何事件可以让您在插件启用时运行脚本。您可以在单独的文件中保存一个标志,告诉您它是否是第一次运行该插件。