Drupal 通过API动态的添加样式文件

论坛: 

样式的载入方式,可以通过 theme.info 加载样式文件,但都需要更新缓存才可以使用,因些这样子没有办法动态的加载一些样式文件,在DP中提供了两个API操作样式文件 drupal_add_css 、 drupal_get_css

这里,仍然是以 mytheme 为主题,看以下示例:

function mytheme_preprocess_page(&$variables) {

  $front_style = path_to_theme() .'/front-page.css';

  $path_style = path_to_theme() .'/path-'. arg(0) .'.css';

  if (file_exists($front_style) && $variables['is_front']) {

    $include_style = $front_style;

  }

  elseif (file_exists($path_style)) {

    $include_style = $path_style;

  }

  if (isset($include_style)) {

    drupal_add_css($include_style, 'theme', 'all', FALSE);

    $variables['styles'] = drupal_get_css();

  }

}