it-swarm-es.com

Eliminar hojas de estilo específicas de una página determinada

Agregar una hoja de estilo a páginas específicas es fácil: implemente hook_preprocess_page(), llame a drupal_add_css(...) y configure $vars['styles'] = drupal_get_css().


Pero, ¿cuál es la forma correcta de eliminar una hoja de estilo (o en mi caso, todas las hojas de estilo "media = pantalla") para una página específica, sin interferir con el sistema de almacenamiento en caché? (por ejemplo, no se aplica alguna expresión regular a la salida)

No puede simplemente hacer unset($vars['css']['screen']) porque $vars['styles'] Ya se ha generado en este punto y no existe drupal_remove_css() function.

5
wildpeaks

Esta parece ser la forma más limpia, en hook_preprocess_page():

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