Month: June 2015

  • Как избавиться от jQuery.noconflict в разных CMS?

    Как избавиться от jQuery.noconflict в разных CMS?

    По умолчанию, в некоторых системах управления, таких как например Joomla и WordPress у библиотеки jQuery включен noConflict() режим, который при подключении пользовательских скриптов доставляет немало хлопот, пока вы не поймёте в чём причина. Итак, я расскажу какими способами можно отключить этот режим.

    В WordPress подключается jQuery.js который встроен в ядро и который периодчески обновляется, вы конечно можете убрать в нём последнюю строку, но после обновления WP, файл обновится и ваши правки канут в лету, а сайт перестанет нормально работать. На самом деле, всё более чем просто.
    Необходимо добавить в ваш шаблон одну строку, в файл header.php, сразу после вызова <?php wp_head(); ?>:

    <script>var $ = jQuery.noConflict();</script>

    Все остальные скрипты должны вызываться после этой строки.

     


     

    В Joomla 3.x чтобы отключить этот режим необходимо в index.php шаблона добавить тоже, как это ни странно, одну строку:

    unset($doc->_scripts[JURI::root(true) . '/media/jui/js/jquery-noconflict.js']);

    Добавлять её необходимо перед закрывающим тегом ?> перед объявлением доктайпа:

    unset($doc->_scripts[JURI::root(true) . '/media/jui/js/jquery-noconflict.js']);
    ?><!DOCTYPE html>
    <html>
    

    В следующей статье я расскажу как проделать тоже самое с помощью плагинов.
    И не забудьте написать в комментариях как это делаете Вы – это будет полезно общественности!