Статьи

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

Новости

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

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

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