addScript()不适用于Joomla System Plugin

时间:2011-08-24 22:22:26

标签: javascript jquery plugins joomla stylesheet

我正在开发一个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()中使用相同的声明尝试了其他插件,但是他们工作了,为什么不是我的?

2 个答案:

答案 0 :(得分:1)

我发现了错误:

class PluginSystemMyPlugin extends JPlugin {
    function PluginSystemMyPlugin(&$subject, $config){

必须是:

class plgSystemMyPlugin extends JPlugin {
    function plgSystemMyPlugin(&$subject, $config){

答案 1 :(得分:0)

你安装得对吗?你发表过它吗?你确定你的插件运行了吗?您是否尝试使用die函数调试插件代码以检测它是否有效?你也可以尝试这个http://docs.joomla.org/JDocumentHTML/addCustomTag