Избавляемся от caption.js и JCaption в Joomla 3

В Joomla 3, как и в Joomla 2.5 по умолчанию присутствуют возможности для работы с mootools и в частности с caption.js, но не все пользуются mootools поэтому иногда нужно убрать caption.js из списка скриптов, подгружаемых в шаблон joomla по умолчанию.

Для Joomla 3 я делаю это вот так:

<?php
    $headlink = $this->getHeadData(); //получаем содержимое head
    unset($headlink['scripts']['/media/system/js/caption.js']); //убираем caption.js
    $this->setHeadData($headlink); //возвращаем все, что осталось обратно в head
?>

Теперь нам нужно удалить скрипт:

<script type="text/javascript">
jQuery(window).on('load',  function() {
                new JCaption('img.caption');
            });
</script>

Удаляем его примерно так же, как это делали в Joomla 2.5, но с небольшими изменениями:

<?php
if (isset($this->_script['text/javascript']))
    {
    $this->_script['text/javascript'] = preg_replace('%jQuery\(window\)\.on\(\'load\',\s*function\(\)\s*{\s*new\s*JCaption\(\'img.caption\'\);\s*}\);\s*%', '', $this->_script['text/javascript']); //ищем и заменяем наш скрипт на дырку от бублика
    if (empty($this->_script['text/javascript']))
        unset($this->_script['text/javascript']); //если кроме нашего скрипта ничего нет, то убираем тег script
    }
?>

Ну, вот собственно и все.

Также можно почитать:

К сожалению, у Вас отключен Javascript, включите JavaScript, чтобы испытать комментарии правильно

Оставить комментарий: