Forums / National / Russian / Тех. поддержка / Siena: Hooks=rc (вопросы)

Как сделать проверку в файле plug.rc.php

Macik
#31666 2011-11-26 20:59

Спасибо.

1. Консолидация отключена.  На сколько понимаю на этапе вызова (подключения) модулей с hook=rc переменные $env['ext'], $c, $al еще не определены, т.к. вызов происходит из common.php, а он в свою очередь (почти) везде подключен в самом начале.

Практический пример зачем это нужно. Абстрактный сайт. На страницах раздела "товары" отображается слайдер товаров (например jQuery NivoSlider, хотя не принципиально их десятки вариантов). Задача подключать ресурсы:

  • custom-nivo-slider.css
  • nivo-slider.css
  • nivo.slider.pack.js

только на страницах раздела товары.

Пользователю пришедшему на главную страницу или страницы новостей совсем необязательно тянуть "лишние" для него файлы модулей, которые не используются на данной старанице.

Понятно, что есть кэширование ресурсов, и кэш браузера.

Однако практика диктует свои условия. У меня на реальном проекте ситуация приобретает плачевный характер: подключено несколько самописных плагинов, которые реализуют различную специфическую для сайта функциональность. Каждый из плагинов в зависимости от назначения использует 1-2 подключаемых JS файла и файлы стилей. В этоге имеем внушительный список из более десятка JS файлов и пары десятков CSS. Что на прямую сказывается не только на скорости загрузки сраницы, но и на ресурсах потребяемых браузером при просмотре сайта. Хотя единомоментно необходимы 2-4 файла.

Вопрос собственно в том, на сколько алгоритмически обоснована загрузка ресурсов в самом начале скрипта?

И есть ли возможность перенести вызов функции подключения ресурсов хотябы в секцию обработки Header, когда уже инициализирована часть переменных ($env['location'], $env['ext'], $c, $al и т.п. ) и есть возможность сделать выборочную загрузку ресурсов?

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F