joomla plugin函数将参数返回为null

时间:2013-05-07 08:57:30

标签: php joomla

我正在为Joomla写一个插件(第一次和Joomla一起工作),我遇到了一些麻烦。

基本上我需要的是插件中的一个函数,它返回一个依赖于插件参数的url。我希望能够从网站的代码中调用此函数,如下所示:

<a href="<?php echo plgSystemMyplugin::get_home_url(); ">access</a>

我的功能如下:

public function get_home_url () {
    $dn = $this->params->getValue('domainname');
    return 'https://'.$dn.'.mydomain.com';
}

但它返回:

https://.mydomain.com

感谢任何帮助, 提前致谢

修改

能够解决它(不确定它是否正确,但此时我只是想完成它)。

public function get_home_url () {
    $plg = JPluginHelper::getPlugin('system', 'myplugin');
    $plg_params = new JRegistry();
    $plg_params->loadString($plg->params);
    $dn = $plg_params->get('domainname');
    return 'https://'.$dn.'.mydomain.com';
}

1 个答案:

答案 0 :(得分:0)

这是一个静态(属于类)调用:

plgSystemMyplugin::get_home_url();

所以

public function get_home_url() 

无法以这种方式访问​​(因为它属于实例)。

如果你将它设为静态:

public static function get_home_url() 

然后您无法访问get_home_url()中的 $ this

因为, $ this 是动态实例之一,而不是静态类。

请停止混合静态和动态调用和属性。