== Упаковщик JavaScript и css ==

Мод позволяет ужать все используемые на странице css и javascript таким образом, чтобы подключался только 1 файл. Это во-первых ускорит загрузку страницы, а во-вторых уменьшит количество запросов на сервер. Кэшированные js файлы хранится в каталоге /cache и не требуют обновления: мод сам обнаруживает изменения в оригинальных файлов и обновлят сжатый файл.

== Внимание! ==

Используйте данный мод с осторожностью, поскольку для корректной работы JavaScript после сжатия, он должен быть написан грамотно (должны быть проставлены все ;). Установка мода возможна на Eleanor CMS 0.9 с багфиксами от 29 мая 2013.

== Установка ==

1. Содержимое каталога upload заливаем в корень сайта;
2. Откройте файлы /index.php и /admin.php (если вы не переименовывали admin.php) и в каждом:

Найдите:
	try
	{

Добавьте перед:
	$ourjs=array();

Найдите:
			$Lst->script($v);

Замените на:
			if($v and strpos($v,'//')===false and !DEBUG)
				$ourjs[]=$v;
			else
				$Lst->script($v);

		if($ourjs)
			$Lst->script(Minify::Script($ourjs));
			
Найдите:
		'!head'=>$head ? '["'.join('","',array_keys($head)).'"]' : '[]',

Добавьте после:
		'!scripts'=>$ourjs ? '["'.join('","',$ourjs).'"]' : '[]',

3. Откройте файл templates/Uniel/index.php, найдите:
<link media="screen" href="<?php echo$theme?>style/main.css" type="text/css" rel="stylesheet" />

Замените на:
<link media="screen" href="<?php
class UnielMinify extends Minify
{
	public static $folder,$http;
}
UnielMinify::$http=$theme.'style/';
UnielMinify::$folder=Eleanor::$root.$theme.'style/';

echo UnielMinify::Css(Eleanor::$root.$theme.'style/main.css');
?>" type="text/css" rel="stylesheet" />

4. Откройте файл template/Audora/Enter.php, найдите:
<link media="screen" href="<?php echo$theme?>style/styles.css" type="text/css" rel="stylesheet" />
<link media="screen" href="<?php echo$theme?>style/enter.css" type="text/css" rel="stylesheet" />

Замените на:
<link media="screen" href="<?php
class UnielMinify extends Minify
{
	public static $folder,$http;
}
UnielMinify::$http=$theme.'style/';
UnielMinify::$folder=Eleanor::$root.$theme.'style/';

echo UnielMinify::Css(array(Eleanor::$root.$theme.'style/styles.css',Eleanor::$root.$theme.'style/enter.css'));
?>" type="text/css" rel="stylesheet" />

5. Откройте файл template/Audora/index.php, найдите:
<link media="screen" href="<?php echo$theme?>style/styles.css" type="text/css" rel="stylesheet" />
<link media="screen" href="<?php echo$theme?>style/main.css" type="text/css" rel="stylesheet" />

Замените на:
<link media="screen" href="<?php
class UnielMinify extends Minify
{
	public static $folder,$http;
}
UnielMinify::$http=$theme.'style/';
UnielMinify::$folder=Eleanor::$root.$theme.'style/';

echo UnielMinify::Css(array(Eleanor::$root.$theme.'style/styles.css',Eleanor::$root.$theme.'style/main.css'));
?>" type="text/css" rel="stylesheet" />

6. Откройте файл addons/admin/modules/section_general.php, найдите:
Eleanor::$Cache->Lib->DeleteByTag('');

Добавьте перед:
			$cache=glob(Eleanor::$root.'cache/*.js');
			if($cache)
				foreach($cache as &$v)
					unlink($v);

Установка завершена

© Alexander