CONTENT MANAGEMENT SYSTEM
Blox Logo
Blox CMS — блочный метод сайтостроения
.
 
Blox Help


JavaScript — это технология создания небольших программ-скриптов, которые загружаются на компьютер пользователя вместе со страницей сайта и используются для создания эффектов и реагирования сайта на действия пользователя без перезагрузки страницы.

Обычно между щелчком мыши по веб-странице и изменением на ней существует некоторая задержка по времени, необходимая, для того чтобы компьютер пользователя отправил запрос на веб-сервер, а затем получил готовую страницу. C помощью JavaScript можно мгновенно вносить изменения в веб-страницу, так как скрипты выполняются тут же на компьютере, а не на сервере. Скрипты могут быть внедрены как в саму страницу (шаблоны), так и записаны в отдельные файлы .js.

Чаще всего JavaScript используют для организации выпадающих меню, предварительной проверки данных форм, небольших интерактивных элементов страницы, разных "красивостей" типа эффекта падающего снега, шлейфа за указателем мыши и т.п.

←→

Файлы шаблона
Файл ∗.js (JavaScript)

Подключение js-файлов нужно для выполнения в браузере скриптов, написанных на языке JavaScript.

Если в каком-либо шаблоне нужен скрипт, написанный на языке JavaScript, его можно вынести в отдельный js-файл, и дать файлу имя, совпадающее с именем шаблона. Сам файл нужно поместить в папку templates. Больше никаких настроек не требуются – файл будет подключаться автоматически.

Допустим, в шаблоне menu.tpl нужно применять скрипт выпадающего подменю. Создаем файл menu.js со скриптом, который будет подключаться автоматически при каждом выводе блока с шаблоном menu.tpl.


См. также

  • Подключение js-файлов означает, что в разделе заголовка документа (элемент head), который находится в главном шаблоне, будут автоматически сгенерированы соответствующие html-коды для подключения этих файлов. Сам главный шаблон желательно не редактировать.
  • О том, как ссылаться на изображения (логотип, фоновое изображение и т.п.) из js-файлов, читайте в статье "Как ссылаться на статичные файлы".

Примечание

Нужно помнить, что при подключении нескольких js-файлов, имена переменных и функций могут совпадать. Этого нужно избегать.

Случай, когда шаблон с js-файлом вызывается на одной и той же странице более одного раза, системой учитывается, и второй раз js-файл не подключается.

Однако, одни и те же скрипты могут применяться в нескольких шаблонах. Как избежать накладок?
Во-первых, js-файл можно подключать с помощью метода Router::addToHead().

Во-вторых, можно записать скрипт JavaScript в отдельный php-файл, который "инклюдить" только один раз из шаблона, например так:
photos.tplfancyBox.inc
<?php
    require_once "templates/fancyBox.inc";
    . . . 
?>
<?php
    echo "
    <script type='text/javascript'>
    . . . 
    </script>
    ";
?>