排除drupal.css文件

可以通过覆写theme_stylesheet_import()函数来忽略drupal.css文件.只需要向主题的template.php文件中添加以下代码:

<?php
/*
  Do not include drupal's default style sheet in this theme !
*/
function phptemplate_stylesheet_import($stylesheet, $media = 'all') {
  if (strpos($stylesheet, 'misc/drupal.css') == 0) {
    return theme_stylesheet_import($stylesheet, $media);
  }
}
?>

 

使用一个自定义.css文件来代替drupal.css:

 

<?php
function phptemplate_stylesheet_import($stylesheet, $media = 'all') {
  if (strpos($stylesheet, 'misc/drupal.css') != 0) {
    $stylesheet = str_replace('misc/drupal.css', 'misc/mysite.css', $stylesheet);
  }
  if (strpos($stylesheet, 'misc/drupal.css') == 0) {
    return theme_stylesheet_import($stylesheet, $media);
  }
}
?>

将这段代码放到主题的template.php文件中,这将drupal.css文件切换为一个自定义的.css文件。有些drupal站点,你想让它看不出来后台是用drupal做的话,你就需要替换这个drupal.css文件。在这个例子中,我们拷贝了原来的drupal.css文件,将其重命名为mysite.css,并将其保存到名为misc的目录下。

 

注意strpos的使用,来自于PHP.net:

警告—这个函数可能返回一个布尔值FALSE,但是也可能返回与FALSE等价的非布尔值,比如0或者""。更多信息可参看布尔值部分。在这个函数中使用===操作符来测试返回值。

 

相关链接: http://drupal.org/node/23215 , Think in Drupal

Drupal版本: