0

jsファイルを追加しようとしていますが、機能させることができません...グーグルで検索しましたが、まだヘルプが見つかりませんでした。

これは私のコードです:

<?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() {

}

}
4

1 に答える 1

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>');} );');
}
于 2012-05-14T10:05:48.823 に答える