/Simpla-Smarty-Minify

Simpla vqMod module for minify css js and less

Primary LanguagePHP

Smarty Minify 1.3 (сжатие и упаковка css js less).

Данный модуль позволяет сжимать и объеденять css, js, less файлы и коды с возможностью сжатия через gzip и дальнейшим кэшированием.

Для установки необходим vqmod не ниже версии 2.8

Установка:

  1. содержимое архива залить на сайт в папку vqmod/mod
  2. пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка установить Smarty Minify
  3. если все хорошо увидим надпись: Модуль установлен

Удаление:

  1. пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка нажать удалить на Smarty Minify
  2. если все хорошо увидим надпись: Модуль удален

Если обновляли vqmod то пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка нажать переустановить Smarty Minify

Использование:

После установки в файле шаблона где мы выводим js и css (обычно index.tpl) необходимо разместить коды:

{stylesheet minify=false} для вывода css (обычно перед </head>)
...........
{javascript combine=false} для вывода js (обычно перед </body>)

Данные коды служат для вывода наших скриптов и стилей. данные теги могут принимать параметры (если они не указаны то возьмутся глобальные из настроек vqmod в config/config.php):

  • combine = true - паковать все в один файл / false - не паковать
  • minify=true - сжить код / false - не сжимать
  • id - идентификатор. Вывести с очереди js или css с указанным ид

Далее как добавлять js и css:

Добавлять их можно с каких угодно tpl. Варианты добавления:

CSS


регистрация сразу нескольких файлов:

{css id="libs" include=[
"design/{$settings->theme}/css/bootstrap.css",
"design/{$settings->theme}/css/animate.css",
"design/{$settings->theme}/css/style.css"
]}{/css}

регистрация 1 файла:

{css id="theme" include="design/{$settings->theme}/css/theme.css"}{/css}

регистрация 1 файла и произвольного кода:

{css id="mycode" include="design/{$settings->theme}/css/mycode.css" render=true}
.my_class {
	color: red
}
{/css}

убрать код с регистрации:

{unset_css id="mycode"}

данные функции принимают параметры:

  • id* - служит для идентификации (обязательный параметр)

  • include - строка или массив строк для добавления в очередь

  • priority - приоритет вывода. По умолчанию равен 10 (если не указывать файлы будут становится один за одним согласно вызову функций) Чем больше приоритет тем он быстрее будет на выводе

  • less - если установленно true то данному ресурсу будет применен синтаксис less и перекодирован в css. (по умолчанию: false)

  • render - если данный параметр установлен в true то код на очередь не станет, а будет выведен прямо в месте вызова функции. Параметры minify и combine буруться глобальные.

  • minify - если данный параметр установлен в true то к данному ресурсу будет применятся сжатие. Если false - то файлы принадлежащие данному id не будут сжиматся. (по умолчанию: значение config.php)

  • combine - если данный параметр установлен в true то к данному ресурсу будет применятся упаковка в один файл. Если false - то файлы принадлежащие данному id не будут паковатся в один файл. (по умолчанию: значение config.php)

*параметры less combine и minify добавлены в версии 1.2 *combine и minify - работают если параметр render=true

JavaScripts:


Тут сильно расписывать не буду. Все параметры идентичны css за исключением параметра less.

Регистрация сразу нескольких js-файлов:

{js id="libs" priority=99 include=[
"design/{$settings->theme}/js/jquery-2.1.1.min.js",
"design/{$settings->theme}/js/bootstrap.min.js"
]}{/js}

Удаление из очереди:

{unset_js id="mycode"}