在Joomla 2.5插件中添加js

时间:2012-04-28 11:03:03

标签: jquery plugins joomla-extensions joomla2.5

我只是想添加一个js文件,但是我无法让它工作......我用google搜索但是还没有找到任何帮助..任何帮助都很有用

这是我的代码:

<?php

defined('_JEXEC') or die('Restricted access');
jimport('joomla.plugin.plugin');

class plgSystemInfinityScroll extends JPlugin {
protected $_execute;

function __construct(&$subject, $config) {
    $app = JFactory::getApplication();

    if($app->isAdmin())
    {
        return;
    }

    parent::__construct($subject, $config);
    $this->loadLanguage('', JPATH_ADMINISTRATOR);
    $this->_execute = true;
}

public function onBeforeCompileHead() {

    $document =& JFactory::getDocument();
    $document->addScript('/plugins/system/sjdinfinitescroll/jquery.infinitescroll.js');

}

public function onAfterRender() {

}

}

1 个答案:

答案 0 :(得分:1)

首先,Id使用插件事件:

function onBeforeRender(){

}

其次你的道路指向错误。

将其更改为:

//J1.6+
$script= JURI::root(true).DS.'plugins'.DS.'system'.DS.'sjdinfinitescroll'.DS.'jquery.infinitescroll.js';
$document =& JFactory::getDocument();
$document->addScript($script);

如果您在同一页面上加载了MooTools,则必须使用jQuery.noConflict();避免冲突。

所有在一起:

function onBeforeRender(){
      $script= JURI::root(true).DS.'plugins'.
           DS.'system'.DS.'sjdinfinitescroll'.DS.'jquery.infinitescroll.js';
      $document =& JFactory::getDocument();
      $document->addScript($script);
      $document->addScriptDeclaration('jQuery.noConflict();');
      $document->addScriptDeclaration('jQuery(function($){ $('#myid'.append('<h2>my header</h2>');} );');
}