Mam takie pytanie jak dodać wstawienie js wraz z data-main czyli konfig dla reciurejs

ogólnie wstawienie recuirejs z data-main w head jest takie
Kod PHP:
<script data-main="<?php echo $this->baseurl ?>/templates/<?php echo $this->template?>/js/main" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template?>/js/vendor/require.js"></script>
a jak wstawić jako override do head
Kod PHP:
$doc->addScript(); 
aby uwzględnić data-main i czy w ogóle jest to możliwe
także jquery nie potrzebuje wprost z joomli, gdyż załatwia to recuirejs poprzez config main (biblioteka pluginów jquery, bootstrap, wow, domReady itp oraz inicjalizację dla wszystkich stron)
przykładowy template:

Kod PHP:
<?php
defined
('_JEXEC') or die;

$app             JFactory::getApplication();
$doc             JFactory::getDocument();
$user            JFactory::getUser();
$this->language  $doc->language;
$this->direction $doc->direction;

// Output as HTML5
$doc->setHtml5(true);
$doc->setMetadata('X-UA-Compatible''IE=edge');
$doc->setMetaData('viewport''width=device-width, initial-scale=1');
$doc->setGenerator('');

unset(
$doc->_scripts[JURI::root(true) . '/media/system/js/mootools-more.js']);
unset(
$doc->_scripts[JURI::root(true) . '/media/system/js/mootools-core.js']);
unset(
$doc->_scripts[JURI::root(true) . '/media/system/js/core.js']);
unset(
$doc->_scripts[JURI::root(true) . '/media/system/js/modal.js']);
unset(
$doc->_scripts[JURI::root(true) . '/media/system/js/caption.js']);
unset(
$doc->_scripts[JURI::root(true) . '/media/jui/js/jquery.min.js']);
unset(
$doc->_scripts[JURI::root(true) . '/media/jui/js/jquery-noconflict.js']);
unset(
$doc->_scripts[JURI::root(true) . '/media/jui/js/jquery-migrate.min.js']);
unset(
$doc->_scripts[JURI::root(true) . '/media/jui/js/bootstrap.min.js']);

$doc->addStyleSheet('https://fonts.googleapis.com/css?family=Lato:400,700%7CSriracha&subset=latin-ext');
$doc->addStyleSheet('templates/' $this->template '/css/bootstrap.min.css');
$doc->addStyleSheet('templates/' $this->template '/css/style.css');

?>
    <!DOCTYPE html>
    <html lang="<?php echo $this->language?>">
    <head>
        <jdoc:include type="head" />
        <script data-main="<?php echo $this->baseurl ?>/templates/<?php echo $this->template?>/js/main" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template?>/js/vendor/require.js"></script>
        <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
    </head>
    <body>
                <jdoc:include type="modules" name="menu" />
                <jdoc:include type="modules" name="logo" />
                <jdoc:include type="modules" name="karuzela" />
                <jdoc:include type="component" />
                <jdoc:include type="modules" name="footer" />
                <jdoc:include type="modules" name="endbody" />    
    </body>
    </html>

takie rozwiązanie jak w template jest otyle złe ze jeśli dam inicjalizację skryptów to zawsze inicjalizacja jest powyżej czyli

Kod HTML:
<script type="text/javascript">
        require(['main'], function () {
            require(['page/strona']);
        });
</script>
<script data-main="/template/xx/js/main" src="/template/xx/js/vendor/require.js"></script>
tymczasowo zrobiłem w ten sposób ze zainstalowałem dodatek "Sourcerer" i tworząc moduły ze skryptem umieszczam w pozycji "endbody" przed </body>
Z kolei "SriptsDown" odpada o ile działa ładnie przenosi skrypty przed </body> jeśli strona nie ma wymuszonego html5 to jest w porządku, natomiast gdy jest ustawiony html5 to z treści robią się krzaczki na stronie.

oraz jak wywalić scrypt JCaption tworzony przez joomle?
Kod HTML:
<script type="text/javascript">
  jQuery(window).on('load',  function() {
    new JCaption('img.caption');
  });
</script>