drupal_get_css
includes/common.inc, строка 1578
- Версии
- 5 – 6
drupal_get_css($css = NULL)
Returns a themed representation of all stylesheets that should be attached to the page.
It loads the CSS in order, with 'core'
CSS first, then 'module'
CSS, then 'theme'
CSS files.
This ensures proper cascading of styles for easy overriding in modules and themes.
Параметры
$css
(optional) An array of CSS files. If no array is provided, the default stylesheets array is used instead.
Возвращаемое значение
A string of XHTML CSS tags.
Связанные темы
Код
<?php
function drupal_get_css($css = NULL) {
$output = '';
if (!isset($css)) {
$css = drupal_add_css();
}
$preprocess_css = variable_get('preprocess_css', FALSE);
$directory = file_directory_path();
$is_writable = is_dir($directory) && is_writable($directory) && (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC) == FILE_DOWNLOADS_PUBLIC);
foreach ($css as $media => $types) {
// If CSS preprocessing is off, we still need to output the styles.
// Additionally, go through any remaining styles if CSS preprocessing is on and output the non-cached ones.
foreach ($types as $type => $files) {
foreach ($types[$type] as $file => $preprocess) {
if (!$preprocess || !($is_writable && $preprocess_css)) {
// If a CSS file is not to be preprocessed and it's a module CSS file, it needs to *always* appear at the *top*,
// regardless of whether preprocessing is on or off.
if (!$preprocess && $type == 'module') {
$no_module_preprocess .= '<style type="text/css" media="'. $media .'">@import "'. base_path() . $file .'";</style>' ."\n";
}
// If a CSS file is not to be preprocessed and it's a theme CSS file, it needs to *always* appear at the *bottom*,
// regardless of whether preprocessing is on or off.
else if (!$preprocess && $type == 'theme') {
$no_theme_preprocess .= '<style type="text/css" media="'. $media .'">@import "'. base_path() . $file .'";</style>' ."\n";
}
else {
$output .= '<style type="text/css" media="'. $media .'">@import "'. base_path() . $file .'";</style>' ."\n";
}
}
}
}
if ($is_writable && $preprocess_css) {
$filename = md5(serialize($types)) .'.css';
$preprocess_file = drupal_build_css_cache($types, $filename);
$output .= '<style type="text/css" media="'. $media .'">@import "'. base_path() . $preprocess_file .'";</style>'. "\n";
}
}
return $no_module_preprocess . $output . $no_theme_preprocess;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии