addScript()上的Joomla系统插件无法正常工作
问题描述:
我正在开发一个Joomla系统插件,我需要在头部添加一些脚本,我有以下代码:addScript()上的Joomla系统插件无法正常工作
defined('_JEXEC') or die('Restricted access');
jimport('joomla.plugin.plugin');
class PluginSystemMyPlugin extends JPlugin {
function PluginSystemMyPlugin(&$subject, $config){
parent::__construct($subject, $config);
$this->_plugin = JPluginHelper::getPlugin('system','myplugin');
$this->_params = new JParameter($this->_plugin->params);
$this->_mainframe= &JFactory::getApplication();
if($this->_mainframe->isAdmin())return;
}
function onAfterInitialise(){
if($this->_mainframe->isAdmin())return;
$loadjquery = $this->params->get('loadjquery');
$document =& JFactory::getDocument();
if($loadjquery=='yes'){
JHTML::_(' behavior.mootools');
$document->addScript("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js");
}
$document->addScriptDeclaration('
jQuery.noConflict();');
}
}
我也试过addScriptDeclaration(),addStyleSheet(),addStyleSheetDeclaration(),没有任何工作。我的Joomla版本是1.5.23。 我试过其他插件与onAfterInitialise()相同的声明,他们的工作,为什么不是我的?
答
我发现了错误:
class PluginSystemMyPlugin extends JPlugin {
function PluginSystemMyPlugin(&$subject, $config){
必须是:
class plgSystemMyPlugin extends JPlugin {
function plgSystemMyPlugin(&$subject, $config){
答
您是否安装是否正确?你发布了吗?你确定你的插件运行?你有没有试过用die
函数调试你的插件代码来检测它是否工作?你也可以尝试这个http://docs.joomla.org/JDocumentHTML/addCustomTag
你怎么知道它不工作。是否有错误,或者没有出现。如果他们没有出现,你的模板中是否有?你的插件是否有数据库条目并发布? –
jdog