0

我正在为 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';
}
4

1 回答 1

0

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

plgSystemMyplugin::get_home_url();

所以

public function get_home_url() 

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

如果您将其设为静态:

public static function get_home_url() 

那么你不能在 get_home_url() 中访问$this 。

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

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

于 2013-05-07T08:59:44.503 回答