Как избавиться от Drupal CSS stylesheets?
Я пытаюсь выполнить следующее. Мне нужно использовать Drupal 6 в качестве требования к проекту, но я хочу использовать его с моими собственными таблицами стилей HTML и CSS для каждого узла/представления/панели и т. д.
проблема в том, что независимо от темы, Я всегда находил, что Drupal применяется к моему HTML-контенту как мои таблицы стилей CSS, так и CSS, связанные с выбранной темой. Я также попытался, без успеха, использовать модуль stylestripper (установленный на сайтах/all/modules). Независимо от того, что я делаю, дополнительный CSS таблицы стилей применяются к моим страницам, полностью разрушая мой макет.
каков правильный способ достичь этого? Почему stylestripper не работает вообще? Есть ли полностью пустая тема? Я пробовал basic, mothership, zen и т. д., Но я всегда вижу дополнительные таблицы стилей CSS, применяемые к моим страницам.
Это сводит меня с ума, Drupal был выбран кем-то другим за его гибкость. Заранее спасибо.
3 ответов
<?php
/**
* Helper function to allow easy CSS excludes + includes
*/
function _phptemplate_get_css($exclude = array(), $include = array()){
$css = drupal_add_css();
foreach ($css['all']['module'] as $k => $path) {
$file = substr($k, strrpos($k, '/') + 1);
if (in_array($file, $exclude)){
unset($css['all']['module'][$k]);
}
}
foreach ($include as $file){
$css['all']['theme'][path_to_theme() .'/'. $file] = true;
}
return drupal_get_css($css);
?>
подробнее на drupal.org.
обновление:
Правильное место для размещения этой функции - в template.php
файл вашей темы. На самом деле в вашем случае нужно передать массив имен файлов CSS, которые вы хотите исключить.
Вызов drupal_add_css()
без каких-либо аргументов, предоставлю $css
с массивом CSS-файлов, которые будут прикреплены к вашей теме. Так это самое время войти!
Как видите, в первой foreach
цикл мы просто ищем $css
массив для имен файлов, которые существуют в переданном $exclude
массив, для удаления стиля. И мы делаем ту же работу во втором цикле для вставки стиля. И в конце этого мы возвращаем тематическое представление всех стилей, которые должны быть прикреплены к теме, используя drupal_get_css()
Если вы определяете файлы CSS и / или JavaScript в своей теме .файл info с использованием имен файлов, соответствующих основным файлам, вы переопределяете их, и если ваши переопределения не существуют, они не включены.
Я не это будет работать, но я думаю, просто удалите следующую строку на странице вашей темы.ТПЛ.РНР
<?php echo $styles ?>
и тогда drupal не будет ни одного из своих собственных стилей..
это может быть работа для вас.
Нитц!--2-->