如何在elgg中以编程方式设置插件的默认优先级

时间:2013-11-15 13:54:45

标签: elgg

如何以编程方式默认设置插件的优先级,以便在安装和激活后,它会自动显示在插件列表的底部。

我知道我们可以在管理部分设置优先级但是我们如何在代码中设置它,这样当这个插件安装在另一个站点上时,默认情况下它位于插件列表的底部。

我试过了:

elgg_register_event_handler('init', 'system', 'myplugin_init', 999999);

但它似乎不起作用,我找不到更多的文档。

我正在使用elgg 1.8.16

2 个答案:

答案 0 :(得分:0)

添加priority dependency to your plugin's manifest以使其保持正确顺序以覆盖其中一个。

没有像“总是在底部”这样的功能,因为处理想要位于插件列表底部的多个插件会有问题。

答案 1 :(得分:0)

我已经使用它来设置优先级,但只有设置优先级才能清除缓存。

$plugin = elgg_get_plugin_from_id('myplugin');
$plugin->setPriority('last');

我已经使用以下函数来设置优先级,因为每次安装都会运行一次。 run_function_once($functionname, $timelastupdatedcheck = 0)

然后使用elgg_reset_system_cache()

刷新缓存