Smarty Minify

Smarty Minify

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

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

Как использовать:

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

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

данные теги могут принимать параметры (если они не указаны то возьмутся глобальные из настроек в 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)

JavaScripts:
Регистрация сразу нескольких 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"}
5

Пока нет комментариев

Пока нет комментариев


Viber

Whatsapp

Telegram

Messenger

Связаться с нами
Закрыть