WD5 - разработка сайтов

Плагин для сжатия js и css файлов

Универсальный плагин для сжатия нескольких js и css файлов в один. Необходимо для ускорения загрузки сайта и уменьшения количества запросов к серверу.

Сжимаются только файлы типов js, css. Готовые файлы будут находиться в папке указанной в конфиге плагина, по умолчанию это путь assets/merged/

Для подключения файлов в шаблон нужно добавить подключение двух файлов

<link rel="stylesheet" href="/assets/merged/all.css" type="text/css" />
<script src="/assets/merged/all.js" type="text/javascript">

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

Установка и настройка

1. Cоздать папку «compression» в «assets/plugins/»
2. Туда положить файлики «compression.php» и «JSmin.php»
3. Создать плагин с названием «compression»

— код плагина

<?php
require_once MODX_BASE_PATH . "assets/plugins/compression/compression.php"; 
$js_dirs      = array('assets/templates/aqwella/js/', 'assets/templates/aqwella/js/fancybox/fancybox/');
$cs_dirs      = array('assets/templates/aqwella/css/', 'assets/css/', 'assets/templates/aqwella/js/fancybox/fancybox/');
$merged_dir   = 'assets/merged/';
$home_dir     = MODX_BASE_PATH;
compression::compress($js_dirs, $cs_dirs, $merged_dir, $home_dir);
?>

— Системные события:

OnWebPagePrerender

Файлы лучше всего называть следующим образом:

01.jquery-1.6.2.min.js
02.jquery.easing.min.1.3.js
03.main_script.js

То есть, в таком порядке, в котором нужно их собрать в один. Чтобы потом файл main_script.js с использованием jquery не загрузился раньше самой библиотеки jquery.

Загрузка с GitHub

p.s.
PHP класс «compression» можно использовать не только в MODX, а и в любых своих проектах.

None