1

Joomla 2.5 コンポーネントをロードするときに jquery スクリプトをロードする必要があります。私の見解では、私は追加しました:

function display($tpl = null)
{
// Display the template
$document = JFactory::getDocument();
$document->addScript("components/com_myname/assets/js/script.js","text/javascript",true);
parent::display($tpl);
}

ただし、script.js が jquery.js の前にロードされるため、スクリプトは実行されません。joomlaコアまたはテンプレートファイルをハッキングせずに、スクリプトのロード順序を確立するにはどうすればよいですか?

4

1 に答える 1

19

ドキュメントに最初に jquery を追加する必要があります。

$document->addScript('/path/to/jquery/jquery.min.js');
$document->addScript('components/com_myname/assets/js/script.js');

複数の拡張機能によって複数の jquery インスタンスが読み込まれないようにするには、ほとんどの開発者が従う次のコードを使用します。

$app = JFactory::getApplication();
if(!$app->jquery){
  $document->addScript('/path/to/jquery/jquery.min.js');
  $app->jquery = true;
}

また、jquery のロード方法を制御できない場合は、以下の方法を使用できます。

$document->addCustomTag('<script src="'.JURI::root(true).'/components/com_myname/assets/js/script.js" type="text/javascript"></script>');

カスタム タグは、他のすべてのスクリプトが読み込まれた後に読み込まれます。

于 2013-05-20T17:56:57.570 に答える