Статьи

Ефективний CSS для Joomla! 1.5

Ні для кого не секрет, що за замовчуванням для стилізації розмітки в Joomla! прийнято використовувати файл template.css. Однак найчастіше при розробці великого проекту виникає ситуація, коли набагато зручніше не «запихати» всі стилі в один файл і в підсумку отримувати громіздкий .css-файл, а розбити стилі по різних файлах.

Наприклад, часто моя розмітка використовує такі .css-файли:

  • layout.css - розмітка, основні блоки
  • joomla.css - стилі Joomla!
  • typo.css - елементи типографіки і форм
  • menu.css - навігація (як правило, в разі використання меню, що випадає)
  • editor_content.css - стилі для редактора
  • ie6only.css - лікуємо IE6
  • ie7only.css - в разі необхідності

Як видно, даний метод передбачає мінімум чотири запиту, у випадку з IE - п'ять (editor_content.css використовується тільки в backend). Навіть якщо ви будете імпортувати стилі через основний файл, все одно запитів до сервера не уникнути і розмір своїх не буде відрізняться від початкового. А наше завдання мінімізувати використання ресурсів сервера.

Для цього нам потрібно, по можливості максимально зменшити число запитів до сервера і зменшити розмір отриманого в результаті css-коду. Довгий час я використав звичайний метод складання css з подальшим кешуванням файлів і подальше поводження «збирача» до них через кеш. При цьому в самому «збирача» застосовувалося апаратне стиснення. У підсумку ми отримували один менший файл. Наприклад, при використанні трьох файлів загальним обсягом 18Кб після обробки ми отримували один файл розміром 6Кб. Однак - це не межа. Можна зменшити розмір кінцевого файлу вдвічі.

Робиться це за допомогою аппартного обробки css-фалів за допомогою PHP. Для цього ваш збирач, я називаю його template.css.php повинен виглядати так:

<? Php if (extension_loaded ( 'zlib') &&! Ini_get ( 'zlib.output_compression')) @ ob_start ( 'ob_gzhandler'); header ( 'Content-type: text / css; charset: UTF-8'); header ( 'Expires:'. gmdate ( 'D, d MYH: i: s', time () + 3600). 'GMT'); define ( 'DS', DIRECTORY_SEPARATOR); define ( 'PATH_ROOT', dirname (__FILE__). DS); ob_start ( "compress"); function compress ($ buffer) {/ * remove comments * / $ buffer = preg_replace ( '! / \ * [^ *] * \ * + ([^ /] [^ *] * \ * +) * /!', '', $ buffer); / * Remove tabs, spaces, newlines, etc. * / $ Buffer = str_replace (array ( "\ r \ n", "\ r", "\ n", "\ t", '', '', ''), '', $ buffer); return $ buffer; } / * General tag styling * / include (PATH_ROOT. 'Layout.css'); / * Typografy styling * / include (PATH_ROOT. 'Typo.css'); / * Joomla core styling * / include (PATH_ROOT. 'Joomla.css'); ob_end_flush (); ?>

<? Php if (extension_loaded ( 'zlib') &&! Ini_get ( 'zlib.output_compression')) @ob_start ( 'ob_gzhandler'); header ( 'Content-type: text / css; charset: UTF-8'); header ( 'Expires:'. gmdate ( 'D, d MYH: i: s', time () + 3600). 'GMT'); define ( 'DS', DIRECTORY_SEPARATOR); define ( 'PATH_ROOT', dirname (__ FILE__). DS); ob_start ( "compress"); function compress ($ buffer) {/ * remove comments * / $ buffer = preg_replace ( '! / \ * [^ *] * \ * + ([^ /] [^ *] * \ * +) * /!', '', $ buffer); / * Remove tabs, spaces, newlines, etc. * / $ Buffer = str_replace (array ( "\ r \ n", "\ r", "\ n", "\ t", '', '', ''), '', $ buffer); return $ buffer; } / * General tag styling * / include (PATH_ROOT. 'Layout.css'); / * Typografy styling * / include (PATH_ROOT. 'Typo.css'); / * Joomla core styling * / include (PATH_ROOT. 'Joomla.css'); ob_end_flush (); ?>

У підсумку, на виході ми отримуємо два великих плюса замість 6Кб файл розміром 3Кб, а також замість 26мс на доставку запиту 15мс. На мою думку, плюси очевидні.

клікабельно

Єдиним можливим мінусом можна вважати css «в рядок». Хоча, навряд чи це мінус. Загалом, в кінцевому підсумку вирішувати звичайно вам, але я думаю що зменшений в шість разів обсяг даних для css-файлів і зменшене майже вдвічі час відповіді - це вагомі аргументи за.

постовий:

Мучить питання, як заробити в інтернеті ? Заробити в інтернеті можна, однозначно. Просто потрібно знати, де в інеті заробити.

Супер актуальна і модна тема - новобудови Підмосков'я . Навіть на тлі кризи, нерухомість залишається привабливим об'єктом капіталовкладення. Поспішайте, а то новобудови москви вже майже всі закінчилися. Вантажні запчастини MAN

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал

Как оформить диск малыш от рождения до года из фото и видео
Оформить диск "Малыш от рождения до года" из фото и видео можно совершенно разными способами! Кто-то для достижения данной цели идет на шоу-таланты, кто-то пользуется услугами профессионалов, а кто-то

Как создать видео без программ
Реклама - это один из видов деятельности, который помогает людям продвигать свои товары или услуги. Одним из таких видов рекламы является - раздача листовок или более современное название "флаеров". Раздача

Финансовые новости мира
Вернуться в раздел Профессия экономист Экономисты востребованы в компаниях, где требуется контролировать расходы, правильно рассчитывать средства, где необходим постоянный анализ экономической деятельности

Транспортное средство закон
Пункт 1.5. ПДД гласит: «Участники дорожного движения должны действовать таким образом, чтобы не создавать опасности для движения и не причинять вреда», а в пункте 1.2. указано: «Участник дорожного движения»

Квест кімната дніпро
Законопроект о запрете посещения квестов детьми младше 14 лет прокомментировал один из самых популярных в России квест-агрегаторов. Поправки в городской закон о мерах по предупреждению причинения вреда

Труба в изоляции Valsir Pexal
На сегодняшний день имеется масса самых разных отделочных материалов, которые можно использовать, как внутри, так и снаружи помещения в качестве декоративного элемента, однако большинство из них имеет

Роллы
От того, как и чем мы питаемся зависит очень многое. Это и самочувствие и внешность и общее состояние здоровья. Несмотря на широкое предложение, вопросы правильного и вкусного питания стоят очень остро.

Дешевая доставка суши
Суши можно не только запивать, но и заедать: хорошо с суши сочетаются тэмпура (обжаренные в специальном кляре ломтики овощей, грибы или морепродукты), а также мисо-суп (суп, заправленный бобовой пастой).