Cu, 04/18/2014 - 19:49 By Umit
Drupal Performance

Drupal'de css optimize ederek performans arttirma yöntemi
Eğer sıfırdan bir tema oluşturuyorsak, çekirdekten gelen css dosyaları tüm standart css sınıflarının üzerine yazılır. Haliyle gereksiz bir sürü css sınıfına sahip oluruz ve bu sınıflar web sitemizin performansında negatif katkıda bulunur. Hiç gereği yokken sorgu sayımızı arttırmış oluruz.

Peki nasıl bu standart css sınıflarından kurtulabilirim?

Bunun bir kaç yolu vardır. Template.php dosyamızda "hook_css_alter" ile ve info dosyamızda ise "CSS FOAD" methodunu kullarak varsayılan css sınıflarını kaldırabiliriz.

1- ) Template.php dosyasında css sınıfılarını engellemek

Aşağıdaki kodu oluşturduğumuz temamızın içindeki "template.php" dosyamıza kopyalıyoruz. Sonrasında "MY_THEME_" kısmını temanızın adını yazıyoruz.

/*** Implements hook_css_alter(); */

function MY_THEME_css_alter(&$css) {

$remove = array(
'misc/vertical-tabs.css',
'misc/vertical-tabs-rtl.css',
'misc/ui/jquery.ui.core.css',
'misc/ui/jquery.ui.theme.css',
'modules/comment/comment.css',
'modules/comment/comment-rtl.css',
'modules/field/theme/field.css',
'modules/field/theme/field-rtl.css',
'modules/file/file.css',
'modules/filter/filter.css',
'modules/node/node.css',
'modules/search/search.css',
'modules/search/search-rtl.css',
'modules/system/system.admin.css',
'modules/system/system.admin-rtl.css',
'modules/system/system.base.css',
'modules/system/system.base-rtl.css',
'modules/system/system.maintenance.css',
'modules/system/system.menus.css',
'modules/system/system.menus-rtl.css',
'modules/system/system.messages.css',
'modules/system/system.messages-rtl.css',
'modules/system/system.theme.css',
'modules/system/system.theme-rtl.css',
'modules/user/user.css',
'modules/user/user-rtl.css',
'sites/all/modules/ctools/css/ctools.css',
);
foreach ($remove as $value) {
unset($css[$value]);
}
}

Ön belleği temizlemeyi unutmayın.

2- ) CSS FOAD methodunu kullarak varsayılan css sınıflarını kaldırmak

Temanızın info dosyasını açın

Görüntülenmesini istemediğiniz css sınıflarını kendinize göre coğaltarak kullabilirsiniz.
ÖRNEK;

;-------------- CSS FOAD -------------
stylesheets[all][] = system.messages.css
stylesheets[all][] = comment.css
stylesheets[all][] = node.css

Ön belleği temizlemeyi unutmayın.

Drupal'de her problem için birden fazla çözüm olduğunu unutmayın.

Mutlu kodlamalar