滚动
删除或重写默认的 CSS 文件
有时我们需要修改或删除 Drupal 的默认 CSS 文件,例如:system.css、defaults.css 或 system-menus.css。虽然我们可以直接修改这些文件,但在更新 Drupal 时,很容易忘记曾经改动过它们,从而被新版本覆盖。为了避免这种情况,可以将这些文件从 Drupal 输出的 CSS 列表中排除。如果其中某些样式仍然需要使用,可以将它们复制到主题的 style.css 文件中进行修改。这样可以防止自定义样式被意外删除。
首先,在主题目录中创建 template.php
文件(如果已经存在则直接编辑),并添加以下代码:
function phptemplate_preprocess_page(&$vars) { $css = $vars['css']; unset($css['all']['module']['modules/system/system.css']); unset($css['all']['module']['modules/system/defaults.css']); unset($css['all']['module']['modules/system/system-menus.css']); $vars['styles'] = drupal_get_css($css); }
现在,这些文件的样式将不会被加载。若有需要的样式,可以手动复制到 style.css
中进行修改。
同样的处理方法也适用于 Nice Menu 模块的 CSS 文件,该模块常用于创建下拉菜单。建议在 style.css
中重写其样式。以下代码用于移除 Nice Menu 模块的 CSS 文件:
function phptemplate_preprocess_page(&$vars) { $css = $vars['css']; unset($css['all']['module']['modules/system/system.css']); unset($css['all']['module']['modules/system/defaults.css']); unset($css['all']['module']['modules/system/system-menus.css']); unset($css['all']['module']['sites/all/modules/nice_menus/nice_menus.css']); unset($css['all']['module']['sites/all/modules/nice_menus/nice_menus_default.css']); $vars['styles'] = drupal_get_css($css); }
请注意,这里的路径 nice_menus/nice_menus_default.css 是指模块位于 sites/all/modules/nice_menus
文件夹中,且 不包含版本号。