Главная страница / Советы / Сжатие CSS файлов шаблона
март 08 2010

Сжатие CSS файлов шаблона

Дорогие друзья,

как вы знаете, начиная с версии 8.5, в скрипте появилась возможность сжатия javascript файлов, что позволяет до 70% уменьшить их размер и тем самым существенно ускорить их загрузку в браузер. В данной статье я хочу вам рассказать о том, что данную возможность можно применить для файлов стилей CSS вашего шаблона. Для этого необходимо изменить их подключение в шаблон, допустим ваши стили подключаются в шаблоне строчками:
<link rel="stylesheet" type="text/css" href="/templates/Default/css/style.css" />
<link rel="stylesheet" type="text/css" href="/templates/Default/css/engine.css" />

для включения сжатия для этих файлов, эти строки необходимо заменить на:
<link rel="stylesheet" type="text/css" href="/engine/classes/min/index.php?f=/templates/Default/css/style.css,/templates/Default/css/engine.css" />

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

Комментарии

  1. celsoft (Администраторы)

    23 февраля 2018 06:52 4 033 комментария
    Цитата: arthuro
    на версии 12.1 не работатет

    Работает на всех версиях, в том числе и на 12.1. Сжатие файлов в DLE одинаково во всех версиях, и никогда не менялось. Более того сжатие работает независимо от самого DLE, это отдельная независимая библиотека.

    Сжатие может не работать по следующим причинам:

    1. Вы что то неверно делаете.
    2. Ваши CSS файлы содержат ошибки и не могут быть сжаты.
    3. Не хватило выделенных ресурсов сервера для обработки и сжатия файлов.
  2. mlide (Посетители)

    28 апреля 2018 18:08 2 комментария
    Скажите, а это разве не одно и тоже что в админке?: http://prntscr.com/jbajpr
  3. celsoft (Администраторы)

    28 апреля 2018 18:13 4 033 комментария
    Цитата: mlide
    Скажите, а это разве не одно и тоже что в админке?: http://prntscr.com/jbajpr

    Эта настройка включает сжатие файлов, которые использует DLE в своей работе. А в этой статье описывается сжатие ваших личных файлов, в вашем шаблоне, которые вы ставите самостоятельно. Такие файлы не относятся непосредственно к DLE и какие либо настройки DLE на них не действуют.
  4. mlide (Посетители)

    28 апреля 2018 19:16 2 комментария
    Цитата: celsoft
    Цитата: mlide
    Скажите, а это разве не одно и тоже что в админке?: http://prntscr.com/jbajpr

    Эта настройка включает сжатие файлов, которые использует DLE в своей работе. А в этой статье описывается сжатие ваших личных файлов, в вашем шаблоне, которые вы ставите самостоятельно. Такие файлы не относятся непосредственно к DLE и какие либо настройки DLE на них не действуют.

    Спасибо, понял
  5. radrigo (Клиенты)

    21 июня 2018 17:16 150 комментариев
    Здравствуйте.

    Подскажите, как можно Объявлять о том, что файл стилей обновился?

    Пытаюсь в конце CSS прописать что-то вроде такого ?15295, файл стилей сразу перестает загружаться.

    Как пример, такой вариант не работает
    <link rel="stylesheet" type="text/css" href="/engine/classes/min/index.php?f={THEME}/css/styles.css?1529581358">
  6. celsoft (Администраторы)

    22 июня 2018 13:22 4 033 комментария
    Цитата: radrigo
    Пытаюсь в конце CSS прописать что-то вроде такого ?15295, файл стилей сразу перестает загружаться.

    Нужно соблюдать стандарты URL. Знаком "?" начинается только первый параметр в URL, все последующие параметры перечисляются через "&".
  7. radrigo (Клиенты)

    22 июня 2018 14:40 150 комментариев
    Смотрю как пути к скриптам прописаны в dle. Так как всё-таки будет правильнее, использовать "&" или "&amp;"?

    Цитата: celsoft
    Цитата: WWW.ZEOS.IN
    2) Какая разница между f= и g= ?

    огромная, g это не указание файла, это указание название внутренней группы файлов

    Подскажите, а есть возможность создать свою группу файлов. Например у меня около 10 стилей, и было бы гораздо удобнее если можно было бы создать свою группу стилей.
  8. celsoft (Администраторы)

    22 июня 2018 14:54 4 033 комментария
    Цитата: radrigo
    Смотрю как пути к скриптам прописаны в dle. Так как всё-таки будет правильнее, использовать "&" или "&amp;"?

    Можно писать и так и так в HTML коде, на работу это не влияет. Но валидно именно &amp;.

    Цитата: radrigo
    Подскажите, а есть возможность создать свою группу файлов. Например у меня около 10 стилей, и было бы гораздо удобнее если можно было бы создать свою группу стилей.

    Вам это не нужно, и никакого удобства именно вам это не доставит. Потому как требует правки PHP файлов и конфигураций PHP файлов. И соответственно правки при каждом обновлении скрипта. Где же тут удобство? Нигде.

    А на скорость работы, укажите ли вы группу, или перечислите через запятую роли никакой не играет.

    DLE использует группы по другим причинам, а именно по тем что в нем есть те скрипты что загружаются на всех страницах без исключения, а есть те которые подключаются только иногда, в завсимости от настроек и просматриваемых страниц и контента на нем. Т.е. используется динамическое подключение.

    У вас такого нет, поэтому даже не думайте об этом, вам это точно не нужно. Обьедените ваши 10 файлов стилей в один CSS файл и все, если нет желания перечислять. Никто же не заставляет вас делать 10 отдельных файлов стилей. Пока разрабатываете, для удобства редактирования да можно разбить. Но после того все закончили, объединили в один и все, этим кстати и ресурсы сервера будете экономить.
  9. zhuravel.nikita (Клиенты)

    16 июля 2018 19:25 4 комментария
    Для картинок данный метод приемлем?
  10. celsoft (Администраторы)

    17 июля 2018 05:58 4 033 комментария
    Цитата: zhuravel.nikita
    Для картинок данный метод приемлем?

    Нет
  11. ilija1985 (Клиенты)

    17 января 2019 16:35 2 комментария
    anatoly86,
    нЕ ПОДСКАЖЕТЕ КАК БЫТЬ С МОБИЛЬНЫМ ШАБЛОНОМ?

    celsoft,
    Подскажите, как сжать стили в мобильном шаблоне?
  12. celsoft (Администраторы)

    18 января 2019 12:46 4 033 комментария
    Цитата: ilija1985
    Подскажите, как сжать стили в мобильном шаблоне?

    Точно также как и написано. Нет никаких отличий. /templates/Default/css/style.css это путь к имени файла CSS. И как видно из пути Default это имя шаблона. Вот и прописывайте пути такими, какими они у вас в вашем мобильном шаблоне.
  13. hpv1 (Клиенты)

    15 апреля 2019 10:40 5 комментариев
    А как то можно сжимать файлы стилей и скрипты которые вынесены на поддомен?
    //static.site.ru/...
  14. celsoft (Администраторы)

    16 апреля 2019 06:31 4 033 комментария
    Цитата: hpv1
    А как то можно сжимать файлы стилей и скрипты которые вынесены на поддомен?
    //static.site.ru/...

    Через DLE нельзя. Он сжимает только локальные файлы, а не внешние. В данном случае нужно использовать серверные возможности, например через nginx.
  15. zhuravel.nikita (Клиенты)

    11 мая 2020 20:00 4 комментария
    Я так понимаю с HTTP/2 данный метод бесполезен?
  16. celsoft (Администраторы)

    12 мая 2020 10:39 4 033 комментария
    Цитата: zhuravel.nikita
    Я так понимаю с HTTP/2 данный метод бесполезен?

    Нет не правильно. Сжатие не имеет никакого отношения к HTTP/2
  17. EliteRU (Посетители)

    26 сентября 2020 12:02 3 комментария
    Здравствуйте. У меня после применения данной схемы весь шаблон съезжает dle 14
  18. celsoft (Администраторы)

    26 сентября 2020 15:32 4 033 комментария
    Цитата: EliteRU
    Здравствуйте. У меня после применения данной схемы весь шаблон съезжает dle 14

    В консоли браузера какие ошибки возникают?
    1. EliteRU (Посетители)

      26 сентября 2020 19:04 3 комментария
      вот такие
  19. celsoft (Администраторы)

    26 сентября 2020 19:52 4 033 комментария
    У вас серверная ошибка 400. Это значит что могли например быть превышены какие либо лимиты установленные в настройках сервера, либо нет каких либо библиотек. Точное описание ошибки и ее причины находятся в логах сервера. Вам нужно в службе поддержки вашего хостинга узнать причины данной серверной ошибки.
    1. EliteRU (Посетители)

      26 сентября 2020 20:33 3 комментария
      я прописывал <link rel="stylesheet" type="text/css" href="/engine/classes/min/index.php?f=/templates/{THEME}/css/style.css,/templates/{THEME}/css/engine.css" />

      выдавал ошибку <link rel="stylesheet" type="text/css" href="/engine/classes/min/index.php?f=/templates//templates/{THEME}/css/style.css,/templates//templates/{THEME}/css/engine.css" />

      прописал <link rel="stylesheet" type="text/css" href="/engine/classes/min/index.php?f=/templates/моя тема/css/style.css,/templates/моя тема/css/engine.css" /> ошибка та пропала

      теперь в консоли показывает вот такую ошибку https://ibb.co/CwqBZ1g и шаблон все равно перекошен https://ibb.co/bm8dQk6 хотя если вернуть все как было то выгладит так https://ibb.co/NSMqsMb
  20. celsoft (Администраторы)

    26 сентября 2020 21:31 4 033 комментария
    Цитата: EliteRU
    я прописывал <link rel="stylesheet" type="text/css" href="/engine/classes/min/index.php?f=/templates/{THEME}/css/style.css,/templates/{THEME}/css/engine.css" />

    выдавал ошибку

    Логично. С каких пор тег {THEME} выводит только имя шаблона? Он выводит полный путь

    Цитата: EliteRU
    теперь в консоли показывает вот такую ошибку https://ibb.co/CwqBZ1g

    Это ошибка стороннего скрипта, к DLE отношения не имеет. И к загрузке стилей отношения тоже не имеет.

    Ваш шаблон может иметь свои файлы стилей. В примере приведено применительно к стандартному демо шаблону, а вы должны прописывать все CSS файлы вашего шаблона. Имена который могут совершенно другими.
  21. Uralbox (Клиенты)

    29 июля 2023 01:58 56 комментариев

    Как дописать {cache-id} сюда <link rel="stylesheet" type="text/css" href="/engine/classes/min/index.php?f=/templates/{THEME}/css/style.css,/templates/{THEME}/css/engine.css" />

    1. celsoft (Администраторы)

      29 июля 2023 06:09 4 033 комментария

      <link rel="stylesheet" type="text/css" href="/engine/classes/min/index.phpf=/templates/{THEME}/css/style.css,/templates/{THEME}/css/engine.css&
      v={cache-id}">

      1. Uralbox (Клиенты)

        29 июля 2023 07:00 56 комментариев

        к js аналогично, да?

        1. celsoft (Администраторы)

          29 июля 2023 08:15 4 033 комментария

          Конечно. Как и любой другой URL в принципе.

Информация

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

Календарь

«    Апрель 2024    »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930 

Опрос на сайте

Совершаете ли вы покупки в интернет?