Joomla でHeadJSを使用しようとしています。テンプレートにコードを追加しました - head 出力で javascript ファイルを取得し、head.js コード間でそれらを出力するための文字列を準備し、joomla の head 出力タグからすべての javascript ファイルを削除します。
問題は、一部のスクリプトがテンプレートの後に読み込まれることです。たとえば、モジュールはテンプレートがロードされた後にいくつかのスクリプト ファイルをキューに入れるため、そのファイルは私の head.js コードの外に表示されます。これを制御する方法はありますか?
$data = $this->getHeadData();
if( $data['scripts'] ){
foreach ($data['scripts'] as $url=>$type){
if( !strstr($url, 'ajax.googleapis.com/ajax/libs/jquery') )
$headjs[] = $url;
}
unset( $data['scripts'] );
$data['scripts'][$template . '/js/head.js'] = array(
'mime' => 'text/javascript',
'defer' => false,
'async' => false);
$this->setHeadData($data);
}
その後...
<script>
head.js(
<? foreach($headjs as $script): ?>
'<?=$script?>',
<? endforeach; ?>
function(){
}
);
</script>