我正在为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';
}
答案 0 :(得分:0)
这是一个静态(属于类)调用:
plgSystemMyplugin::get_home_url();
所以
public function get_home_url()
无法以这种方式访问(因为它属于实例)。
如果你将它设为静态:
public static function get_home_url()
然后您无法访问get_home_url()中的 $ this 。
因为, $ this 是动态实例之一,而不是静态类。
请停止混合静态和动态调用和属性。