joomla:使用模块插件(jmapmyldap)
问题描述:
在joomla 3.x中,我有一个插件为了管理认证和组员权限映射,它是JMapMyLDAP。 该插件具有一组存储在配置中的参数,这些参数用于调节插件如何连接到LDAP服务器,LDAP查询如何生成,如何映射属性等等...joomla:使用模块插件(jmapmyldap)
现在我正在开发一个自定义模块,旨在从LDAP获取关于当前用户的更多信息,即它旨在查询Active Directory中相应用户的某些更多扩展属性(我当前的LDAP身份验证后端)。
考虑到我已经使用绑定帐户,基本DN配置了JMapMyLDAP插件,重新使用此插件的配置和功能而非再次写入LDAP基本功能由我自己和再次存储相同的配置somwhere其他地方...
所以这个问题,一般来说是:是否有一种方法在模块中调用一个插件的初始化(即加载存储配置)按顺序直接调用它的方法?
在我的测试中,我已经成功地引进的具有jimport插件在default.php
(或者也helper.php
)
<?php
// No direct access
defined('_JEXEC') or die;
jimport('joomla.plugin.plugin');
jimport('shmanic.jldap2');
jimport('shmanic.jmapmyldap');
但现在呢?
我需要获得plgUserJMapMyLDAP
(即扩展Jplugin
)的实例,以便能够查询我的LDAP后端。
答
我从你的问题中了解到的是: 1.你想触发一个写在你的插件中的自定义函数。你可以使用下面的脚本来完成它。
JPluginHelper::importPlugin(<plugin type>, <plugin name>);
$Dispatcher = JEventDispatcher::getInstance();
$result = $Dispatcher->trigger('<Event name>', <array of parameter>);
如果有结果变量会返回预期的输出。
-
您想要使用在插件下配置的现有参数。所以你可以使用下面的脚本在任何地方访问任何插件参数。
$plugin = JPluginHelper::getPlugin(<plugin type>, <plugin name>); $params = new JRegistry($plugin->params); echo $params->get('param_name','default_value');