Drupal 7: Quitar un CSS o JS programaticamente
El siguiente hook lo pones en el template.php de tu theme:
1 2 3 4 5 6 7 8 9 10 11 |
< ? function TU_THEME_css_alter(&$css) { $css = array_diff_key($css, array( // Añade todos los CSS que quieras quitar antes que se entregue la página. drupal_get_path('module', 'NOMBRE_MODULO') . '/PATH/HASTA/EL/CSS/foo.css' => FALSE, drupal_get_path('theme', 'NOMBRE_THEME') . '/PATH/HASTA/EL/CSS/foo.css' => FALSE, )); } function TU_THEME_js_alter(&$js) { $js = array_diff_key($js, array( // Añade todos los JS que quieras quitar antes que se entregue la página. drupal_get_path('module', 'user') . '/user.js' => FALSE, )); } |
Está claro que esos hook tienen juego. Puedes mirar cual URL vas a renderizar, o averiguar cualquier otra cosa que te ayude a decidir que CSS’s/JS’s vas a querer quitar.
Chau!
Boa dica, eu estava a procurar por este gancho para alterar o javascript. Obrigado.
Hola, creo que estoy poniendo mal la función. en mi template.php he insertado la función de la siguiente manera:
siendo ‘js_xAPl0qIk9eowy_iS9tNkCWXLUVoat94SQT48UBCFkyQ.js’ el nombre de uno de los archivos que Google speed insights me da como que debo retrasar. ¿Por qué no me funciona? ¿Me podrías ayudar?
Gracias
Jorge, Hay dos cuestiones acá. La primera: ¿mailbox_sky es el nombre del theme? eso es importante. si el theme tiene otro nombre lo cambias y pones el correcto.
Segundo: Este hook sirve solo si el js que se va a cargar es estático (por ejemplo user.js) pero el archivo js que quieres quitar parece creado dinámicamente. En ese caso, no puedes quitarlo mediante este hook.
Saludos.