如何摆脱 Drupal CSS 样式表?

2024-04-12

我正在努力完成以下任务。我需要使用 Drupal 6 作为项目要求,但我想将它与我自己的 HTML 和 CSS 样式表一起用于每个节点/视图/面板等。

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

实现这一目标的正确方法是什么?为什么 styletripper 根本不起作用?有没有完全空白的主题可用?我尝试过 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);
?>

阅读更多内容drupal.org http://drupal.org/node/268943.

Update:
放置此函数的正确位置是template.php http://drupal.org/node/11811您的主题文件。实际上,在您的情况下,您需要传递要排除的 css 文件名数组。
致电给drupal_add_css() http://api.drupal.org/api/function/drupal_add_css如果没有传递任何参数,将提供$css包含一系列将附加到您的主题的 CSS 文件。所以现在正是入手的好时机!

如你所见,在第一个foreach循环我们只是寻找$css传递中存在的文件名数组$exclude数组,用于样式删除。我们在第二个循环中执行相同的工作以插入样式。最后,我们返回应附加到主题的所有样式的主题表示,使用drupal_get_css() http://api.drupal.org/api/function/drupal_get_css功能。(也许你的情况什么也没有)

那么,在哪里调用这个函数呢?您可以在中调用此辅助函数_phptemplate_variables() http://api.drupal.org/api/function/_phptemplate_variables/5对于 D5 或YOUR_THEME_preprocess() http://api.drupal.org/api/function/template_preprocess/6对于D6。正如我们在 D6 中看到的那样(未经测试):

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);
}

我确信您知道如何排除所有这些;)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何摆脱 Drupal CSS 样式表? 的相关文章

  • Postgres SSL 错误

    我正在尝试通过 SSH 和 drush 命令行 shell 运行 Drupal 迁移 将数据从 postgres 数据库复制到 mysql 它工作正常一段时间 大约 5 分钟左右 但随后我收到错误 SQLSTATE HY000 Genera
  • 通过 Drupal 执行查询时 Apache Solr 结果不同 – 为什么?

    我正在尝试创建一个自定义搜索界面阿帕奇 索尔 http lucene apache org solr using Drupal http drupal org 我对结果有一些奇怪的问题 当我从 Solr 的内置 Web 界面运行它时 相同的
  • 如何在不使用 API 的情况下向 Drupal 6.x 注册用户?

    我们必须有一个通过用 java 编写的 Web 服务可用的 注册 方法 因此从今往后我们无法访问 Drupal API 但我们需要能够成功注册用户 简单地将用户添加到用户表中是行不通的 因为新创建的用户永远无法成功登录 我再次喜欢 Drup
  • 如何在JQuery中选择除单击元素之外的所有类?

    我有一个在 Drupal 上开发的网站 我使用一个名为 collapsiblock 的模块 它基本上是一个 JQuery 插件 来实现类似手风琴的效果 它对我来说工作得很好 尽管它还处于测试阶段 但我想修改它 以便当用户单击手风琴的一项时
  • 使用 Drupal 中的外部身份存储库验证注册数据

    当我的用户尝试注册时 我想通过检查外部身份存储库 例如调用 Web 服务或查找目录服务器 来确保他的信息有效 任何现有模块都可以实现这一点吗 如果没有 开发此功能的最佳方法是什么 我不知道现有模块允许添加自定义验证 但使用 验证 操作来实现
  • Drupal 7:菜单结构层次结构中的 Pathauto 模式

    我正在尝试创建一个 Pathauto 模式 它看起来像 Drupal root parent menu item name node title 其中 node title 是菜单层次结构中 parent menu item name 的子
  • 更改 Drupal 中的节点创建标题?

    假设我有一个名为 产品 的节点 当我创建这样的节点时 它将始终显示 创建产品 作为节点的标题 创建节点时如何更改此标题 你的意思是你有一个内容类型 http drupal org node 21947 产品 创建 产品 类型的节点时的 创建
  • 将图像添加到 html 块中

    我在 Blocks 内容中添加了一些 html 代码并启用了完整 HTML 过滤器 我对图像使用了相对路径 例如 sites all themes zen zen image png 我想这是不正确的 因为我需要根据我在主页或 node i
  • 如果管理员或用户具有特定角色,则 Drupal 条件 PHP

    如果用户是管理员 以下内容将执行 某些操作 do something 如果用户是管理员或具有特定角色 我该如何更改此设置 以便发生 某些事情 谢谢 角色存储在 user gt roles 要检查 用户是否是管理员或具有特定角色 您可以简单地
  • Drupal - 使用引导程序检查 Drupal 之外的登录用户不起作用

    我正在绞尽脑汁地想弄清楚这个问题 在 Drupal 目录之外时 我无法让 Bootstrap 正常工作 如果我在 Drupal 目录中运行此代码 它可以正常工作 但向上一级不起作用 我的 Drupal 路径是 public html dru
  • 如何在 #after_build 中隐藏 CCK Nodereference 输入小部件?

    我喜欢简化节点形式 我过去的技巧之一是 当我想要强制执行某种默认设置时 有条件地在新节点创建时隐藏 CCK 元素 我最喜欢的技巧之一就是快速清除由预填充 http drupal org project prepopulate模块 对我来说不
  • 如何以编程方式创建论坛主题?

    我刚刚通过以下链接了解了如何以编程方式创建论坛和容器 http www unibia com unibianet drupal how create drupal forums and containers programmatically
  • Drupal 视图 - 自定义/修改 SQL

    我遇到了 配置文件复选框 模块的问题 该模块存储以逗号分隔的自定义配置文件字段 问题是我是否创建一个视图来按值过滤 SQL 结果最终是这样的 AND profile values profile interests value in Bus
  • Drupal 6 无法构建菜单路由器和链接

    当我在 Drupal 中启用新菜单 例如 mymodule 时 Drupal 应该能够从 mymodule menu hook menu 获取菜单项 处理这些菜单项并将菜单项插入到 menu router 和 menu links 表中 然
  • 将自定义模块创建的内容添加到 drupal 搜索索引中

    我开发了一个模块 可以在不使用 CCK 的情况下为我的网站创建内容 数据将保存在Drupal默认表之外的不同表中 我的要求是 如何让 Drupal 索引我的自定义模块创建的内容 你必须实施钩子搜索 http api drupal org a
  • 在 Drupal 中选择性地删除页面的样式表

    我正在尝试为首页制作不同的布局 在此过程中 我声明了名为 front page css 和 page front tpl php 的新样式表 我正在使用加载responsive sidebar css 的 Zen 子主题 我想删除 resp
  • Drupal:需要上传文件吗?

    由于某种原因 当我尝试要求上传文件时 我的表单中断了 这是它的代码 form id upload form form form id array type gt fieldset description gt t This is a uti
  • 在 Drupal 中使用单个自定义表单创建多个 CCK 节点

    我需要一个允许同时创建多个相关节点的表单 所有节点都涉及 CCK 字段 我想尽可能多地使用 CCK 的内置验证 提交 输入小部件和安全功能 在 Drupal 6 中实现这一目标的最佳方法是什么 是否有 最佳实践 或文档 我可以看到以下三种可
  • 对 Views 和 Pathauto 如何协同工作有基本的了解

    我在理解何时使用 pathauto 规则以及何时使用视图页面路径时遇到了基本问题 我有几种自定义内容类型 并且我使用块来显示某些路径上节点的某些部分 然后我使用视图页面来显示路径上的主节点 当我这样做时 我无法使用 pathauto 因为它
  • Aegir 3+是否支持D7和D8部署

    我们当前安装的 Aegir 已经足够旧 不支持 D8 安装 希望在某个时候进行切换 这就引出了一个问题 Aegir 3 是否支持 Drupal 7 和 Drupal 8 安装 我们可以在哪里将 D7 测试站点部署到 D7 服务器 并同样从同

随机推荐