2013-01-02 1 views
4

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

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

ответ

2

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

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

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

+0

Это будет работать в Drupal 6, но ключ таблицы стилей нет в $ варов массива в Drupal 7. D7 изменил способ сделать это! – rockvilla

0

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

$css = &drupal_static('drupal_add_css', array()); 
unset($css['some_css_path']);