Статьи

Ефективний 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

Новости