从给定页面删除特定样式表 -- 7 领域 和 theming 领域 drupal 相关 的问题

Remove specific stylesheets from a given page


5
vote

问题

中文

将样式表添加到特定页面很简单:实现 hook_preprocess_page() ,呼叫 drupal_add_css(...) 并设置 $vars['styles'] = drupal_get_css()


但是,删除的适当方法一个样式表(或在我的情况下,所有的"媒体=屏幕" 样式表),而不会干扰缓存系统? (例如,不应用于输出的一些正则表达式)

你不能只是做 unset($vars['css']['screen']) 因为 $vars['styles'] 已经在此时生成,并且存在没有 998876666 功能。

英文原文

Adding a stylesheet to specific pages is easy: implement hook_preprocess_page(), call drupal_add_css(...) and set $vars['styles'] = drupal_get_css().


But what is the proper way to remove a stylesheet (or in my case, all "media=screen" stylesheets) for a specific page, without interfering with the caching system ? (e.g. not some regex applied to the output)

You can't just do unset($vars['css']['screen']) because $vars['styles'] has already been generated at this point and there exists no drupal_remove_css() function.

     

回答列表

8
 
vote
vote
最佳答案
 

这似乎是最干净的方式,在 hook_preprocess_page()

  $css = drupal_add_css(); unset( $css['screen'] ); $vars['styles'] = drupal_get_css($css);   
 

This seems to be the cleanest way, in hook_preprocess_page():

$css = drupal_add_css(); unset( $css['screen'] ); $vars['styles'] = drupal_get_css($css); 
 
 

相关问题

2  强制模块“合法”在路径/用户/寄存器上显示“form_set_error”  ( Force the module legal to show a form set error on path user register ) 
我正在使用"合法" 模块6.x-8.5。 这是一个很棒的模块,但我认为需要 form_set_error() 消息,以显示尝试注册的用户,如果他忘记单击所需的复选框,则无法应用注册。 我正在寻找能够实现这一工作的可能性。 有人知道模块中是否有解决此功能的位置(如果没有其他解决方案,则硬编码)? 我还尝试用规则表格进行...

0  Drupal Wysiwyg编辑器  ( Drupal wysiwyg editor ) 
当人们添加评论时,我想有一个简单的wysiwyg,当人们编辑基本页面的正文时。 看起来像这样的东西: 任何想法? ...

0  用于评论验证的模块  ( Module for comment validation ) 
我正在学习如何第一次创建一个新模块,所以请和我一起裸露。我正在尝试从头开始添加评论表的验证;它只是没有验证,这意味着我的表格在有意填写主题领域时成功地提交。 这是我的代码: /* * Implementation of hook_form_alter */ function my_module_form_a...

0  视图页面上出错。任何想法这意味着什么?  ( Error on views page any idea what this means ) 
未捕获的异常在会话处理程序中抛出。 pdoException:sqlstate [08s01]:通信链路失败:1153得到了一个 大于'max_allowed_pa​​cket'字节的数据包:更新 {sessions} set uid =:db_update_placeholder_0, 缓存=:db...

6  如何在首页上显示整个节点内容?  ( How do i display an entire node content on the front page ) 
如何显示整个节点内容,而不仅仅是前页面上的某些介绍文本?看来我推广到首页的任何东西,也被截断,我无法弄清楚如何关闭这一点。 ...

1  在模块中使用page.tpl.php  ( Using page tpl php in a module ) 
我想从我的模块中覆盖和使用page.tpl.php。我想我可以用hook_theme_registy_alter()来做这个。所以我不希望Bartik覆盖这一点,我希望Bartik的子主题能够覆盖它并使用它自己的Page.tpl.php的实现,如果它存在。 我怎么做这个?我是否在hook_theme_registry...

6  无法使用功能跟踪视图  ( Cannot track view with features ) 
我正在使用 Features 创建一个名为 foo 的要素,它跟踪内容类型和视图,以便在代码中描述它们,提交给我的存储库并最终推动暂存和生产服务器。 某些模块(例如 http://drupal.org/project/nodequeue ,, http://drupal.org / project / admin_v...

8  慢速“添加另一件商品”,具有无限的值字段  ( Slow add another item with unlimited valued fields ) 
在drupal 7中,当您有没有无限值的字段(假设图像字段)时,"添加另一项" 响应时间在添加10 - 20项后,"添加其他项目" 响应时间变得非常慢。你怎么打这个问题?你有没有遇到过这个问题? 我创建了一个项目,其中用户可以添加最多100个图像字段的值,理论上有无限值设置。但是,在添加十几个图像后,每一次新点...

3  为什么要从一组节点加载30秒加上的字段值?  ( Why is loading a field value from a group of nodes taking 30 seconds plus ) 
我有一个带有大约300,000个节点的D7网站。我传递这个函数是300-500个nids的数组。有时函数在一秒钟内运行。有时需要40秒或更长时间!我无法弄清楚导致慢速运行的原因。如何获得Query和Fast的查询? function _load_field_values_for_nids($field_name,...

4  如何通过URL别名获得分类?  ( How to get taxonomy by url alias ) 
我有一个级词汇表,其中 6。类别分类学期。分类页面有一个像你的网址 www.example.com/foo/6-class/bar和我找不到与以下代码的分类法。 $grade = arg(2); $term = taxonomy_get_term_by_name($grade) 当我使用字符串(例如 6.类...

3  如何在现有表单中插入主题表表单?  ( How to insert a theme table form inside an existing form ) 
我想把表单字段放在现有表单的表中(生成的theme_table)(hook_menu条目的回调)。 form_id(容器): hook_preprocess_page()0 表构建器功能: hook_preprocess_page()1 与类似于上面的东西,我目前获得内容文本字段的HTML并提交按钮...

0  如何在续订续订到期时发送电子邮件通知?  ( How to send an email notification when a subcription renewal is due ) 
当订户的每月订阅到期时,自动电子邮件应该转到该用户,指出更新到期。将有两种可能性: 如果没有对通知的响应,则根据所选当前包时,自动CC将被充电。 自动电子邮件通知将有一个链接,以便如果订阅者想要升级到不同的包裹。 如何实现这一目标? ...

1  如何实现字段升级  ( How to implement upgrade for fields ) 
我写了一个模块,定义了自己的节点类型,添加了相应的字段等。如果我想更改,删除或添加字段,我如何编写升级功能? ...

2  通过代码身份验证编辑节点  ( Edit a node via code authentication ) 
我正在创建一个网站,我必须为匿名用户提供更新节点的可能性。通过使用代码来识别该节点,当第一次保存节点时,我向用户发送到用户的代码。当我保存此节点(第一次)时,将修改节点以确保它由用户X拥有而不是匿名。好的,有点复杂,但这些是我客户的请求。 所以,我向用户发送邮件,将此行发送到: http:// dominio。 Ex...

4  在模块中覆盖视图表布局  ( Overriding a view table layout in module ) 
我正在尝试从我的模块中覆盖视图表。我无法找到参数的假设是什么,并以什么顺序(对于我的hook_theme func)。我从视图/主题复制了主题文件,没有修改。有谁知道出现了什么问题,以及争论值应该是什么? 我的主题配置目前: 'views_view_table__opportunities_mentions' =...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.