如何摆脱Drupal CSS样式表?

如何摆脱Drupal CSS样式表?,drupal,drupal-6,drupal-modules,drupal-themes,Drupal,Drupal 6,Drupal Modules,Drupal Themes,我正在努力做到以下几点。我需要使用Drupal6作为项目需求,但我希望将它与每个节点/视图/面板等的HTML和CSS样式表一起使用 问题是,无论主题是什么,我总是发现Drupal应用于我的HTML内容,包括我的CSS样式表和与所选主题相关的CSS。我也尝试过使用stylestripper模块(安装在sites/all/modules中),但没有成功。无论我做什么,附加的CSS样式表都会应用到我的页面上,完全破坏了我的布局 实现这一目标的正确方法是什么?为什么stylestripper根本不起作用

我正在努力做到以下几点。我需要使用Drupal6作为项目需求,但我希望将它与每个节点/视图/面板等的HTML和CSS样式表一起使用

问题是,无论主题是什么,我总是发现Drupal应用于我的HTML内容,包括我的CSS样式表和与所选主题相关的CSS。我也尝试过使用stylestripper模块(安装在sites/all/modules中),但没有成功。无论我做什么,附加的CSS样式表都会应用到我的页面上,完全破坏了我的布局

实现这一目标的正确方法是什么?为什么stylestripper根本不起作用?是否有一个完全空白的主题可用?我尝试过basic、mothership、zen等,但我总是看到其他CSS样式表应用到我的页面上

这让我抓狂,Drupal因为其灵活性而被其他人选中。 先谢谢你

<?php
/**
 * Helper function to allow easy CSS excludes + includes
 */
function _phptemplate_get_css($exclude = array(), $include = array()){
$css = drupal_add_css();
foreach ($css['all']['module'] as $k => $path) {
   $file = substr($k, strrpos($k, '/') + 1);
   if (in_array($file, $exclude)){
     unset($css['all']['module'][$k]);
   }
}
foreach ($include as $file){
   $css['all']['theme'][path_to_theme() .'/'. $file] = true;
}
return drupal_get_css($css);
?>

我相信你知道怎么把他们都排除在外;)

我不认为这会起作用,但我认为只需删除主题的page.tpl.php中的以下行即可


这样drupal就不会有自己的风格了。
这可能对你有用。

Nitz

如果使用与核心文件匹配的文件名在主题的.info文件中定义CSS和/或JavaScript文件,则覆盖它们,如果覆盖不存在,则不包括它们


谢谢,这看起来很完美。您能否添加实际使用该功能所需的缺少的详细信息?我应该将函数放在哪个文件中?如何调用它来排除所有CSS样式表?太好了!这正是我要找的!谢谢分享!
function YOUR_THEME_preprocess(&$vars, $hook){
    // Stylesheet filenames to be excluded.
    $css_exclude_list = array(
        'lightbox.css',
        'lightbox_lite.css',
    );

    // Making use of previously defined helper function.
    $vars['styles'] = _phptemplate_get_css($css_exclude_list);
}
 <?php echo $styles ?>