Выборочно удаляйте таблицы стилей в Drupal для страницы


Я пытаюсь сделать другой макет для первой страницы. В этом процессе я объявил новую таблицу стилей под названием "front-page.css" и page--front.tpl.php . Я использую подтему Дзен, которая загружает отзывчивый-sidebar.css. Я хочу удалить "отзывчивый-sidebar.css" и загрузить "главную страницу.css". Причина, по которой я это делаю, заключается в том, что количество столбцов grind в более поздней таблице стилей отличается от предыдущего.

Я не хочу использовать модуль панелей. Я использую Drupal 7.

Author: Muhammad Reda, 2013-01-02

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

Этот крючок может быть реализован либо в модуле, либо в теме.

 2
Author: Clive, 2013-01-02 13:18:56

Внутри файла вашей темы template.php и внутри template_preprocess_page($vars) найдите файл CSS, который вы хотите удалить внутри $vars['stylesheets'], и используйте функцию PHP unset, чтобы удалить его из массива $vars['stylesheets'].

Надеюсь, это поможет... Мухаммад.

 2
Author: Muhammad Reda, 2013-01-02 11:33:52

Я просто нашел лучший способ сделать это. Это немного банально, но позволяет отключить css практически в любом месте:

$css = &drupal_static('drupal_add_css', array());
unset($css['some_css_path']);
 0
Author: Mantas Karanauskas, 2014-12-15 12:09:29