Оптимизация CSS, JS и решение проблемы.

опросы про оптимизацию

#31 6 сентября 2017 в 13:18
Из коробки все это есть в настройках темы:
Сжимать HTML
Объединять CSS-файлы
Объединять JS-файлы

Но почему бы действительно не дать возможность указывать какие скрипты расположить внизу, а какие сверху. Тот же скрипт модального окна абсолютно не нужен в голове, есть сторонние скрипты, которые весят прилично и не требуются для отображения страницы. Некоторые плагины работают только если подключить его в нижней части. Да по ускорению загрузки страницы это капля в море, но в этом вопросе подобный перфекционизм будет очень даже в тему. И речь не про суперсжатие изображений, для которой действительно нужны сложные алгоритмы, а просто о небольшой настройке размещения скриптов и стилей из коробки. Думаю данная опция в темплейте лишней точно не будет.
#32 6 сентября 2017 в 16:23

Но почему бы действительно не дать возможность указывать какие скрипты расположить внизу, а какие сверху.

Smooch
Поддерживаю, тоже об этом думал. У себя я это решил с помощью хука в шаблоне.

Вариант 1 (правильный)
Для реализации этого надо
1. Добавить в cmsTemplate методы типа addFoot(..), foot(..)… (по аналогии с addHead, head...)
2. добавить соответствующие свойства по аналогии с
  1.  
  2. protected $head = array();
  3. protected $head_main_css = array();
  4. protected $head_css = array();
  5. protected $head_main_js = array();
  6. protected $head_js = array();
  7. protected $head_js_no_merge = array();
  8. protected $head_css_no_merge = array();
  9.  
Добавить в шаблоне перед </body> вызов метода
  1. <?php $this->foot(); ?>
Этого хватит, чтобы сторонние компоненты могли добавлять свои скрипты в футер.

----------------
Вариант 2 (быстрый и не требующий доработок движка)
Можно сделать по-другому, просто добавив в шаблон строку
  1. <?php echo cmsEventsManager::hook('print_footer'); ?>
перед
  1. </body>
и в компонентах использовать этот хук для добавления скриптов в футер. Но для гибкой настройки (что сверху выводить, а что снизу) надо обновлять сам класс cmsTemplate.
#33 24 октября 2017 в 09:25

Сократите код HTML на следующих ресурсах, чтобы уменьшить их размер на 684 Б (15 %). Сокращение позволит уменьшить размер на 684 Б (15 %) после сжатия.


Самый лучший и полезный сервис в нете.
#34 24 октября 2017 в 11:10
Доброго дня!
Вчера в админке по незнанию нажал на флажок Объединять JS-файлы. В итоге появились проблемы на сайте, не могу обратно войти в интерфейс, чтобы убрать флажок, админка не работает. Кто знает в чем может быть проблема и как это поправить?
Делал на хостинге откат (бекап) на сутки назад (восстановление) — не помогло(
stroimkaliningrad.ru/places/23-gk-probkovyi-dom.html#marker-49
#35 24 октября 2017 в 11:44
arsius,
scripts.539f0c6dbb3e87b8a6b7ed262ee1e205.js Failed to load resource: the server responded with a status of 404 (Not Found)
23-gk-probkovyi-dom.html:1 Uncaught ReferenceError: $ is not defined
at 23-gk-probkovyi-dom.html:1
23-gk-probkovyi-dom.html:1 Uncaught ReferenceError: icms is not defined
at 23-gk-probkovyi-dom.html:1
23-gk-probkovyi-dom.html:1 Uncaught ReferenceError: icms is not defined
at 23-gk-probkovyi-dom.html:1
23-gk-probkovyi-dom.html:2 Uncaught ReferenceError: $ is not defined
at 23-gk-probkovyi-dom.html:2
23-gk-probkovyi-dom.html:11 Uncaught ReferenceError: $ is not defined
at 23-gk-probkovyi-dom.html:11
В файле \system\config\config.php выставьте
  1. 'min_html' => NULL,
  2. 'merge_css' => NULL,
  3. 'merge_js' => NULL,
Потом в папке \cache\static\ удалите все из папок css и js.
#36 24 октября 2017 в 13:45
Ris
Спасибо, если поможет отпишусь
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.