Выборочно удаляйте таблицы стилей в Drupal для страницы
Я пытаюсь сделать другой макет для первой страницы. В этом процессе я объявил новую таблицу стилей под названием "front-page.css" и page--front.tpl.php . Я использую подтему Дзен, которая загружает отзывчивый-sidebar.css. Я хочу удалить "отзывчивый-sidebar.css" и загрузить "главную страницу.css". Причина, по которой я это делаю, заключается в том, что количество столбцов grind в более поздней таблице стилей отличается от предыдущего.
Я не хочу использовать модуль панелей. Я использую Drupal 7.
3 answers
Способ Drupal 7 заключается в использовании hook_css_alter()
:
function MYMODULE_css_alter(&$css) {
// Remove defaults.css file. The path will probably change for your theme obviously.
unset($css[drupal_get_path('theme', 'MYTHEME') . '/css/responsive-sidebar.css']);
}
Этот крючок может быть реализован либо в модуле, либо в теме.
Внутри файла вашей темы template.php
и внутри template_preprocess_page($vars) найдите файл CSS, который вы хотите удалить внутри $vars['stylesheets']
, и используйте функцию PHP unset
, чтобы удалить его из массива $vars['stylesheets']
.
Надеюсь, это поможет... Мухаммад.
Я просто нашел лучший способ сделать это. Это немного банально, но позволяет отключить css практически в любом месте:
$css = &drupal_static('drupal_add_css', array());
unset($css['some_css_path']);