CSS文件加载主页只省略了其他drupal 7

时间:2011-12-21 00:34:52

标签: drupal

我正在尝试仅在drupal 7中将css文件加载到主页并获得帮助。现在我只需要在hompage上省略另一个css文件。我以为我可以添加和其他声明,但这产生了一个错误。这是template.php文件中的代码。

function fource_preprocess_html(&$vars) {
  if($vars['is_front']) {
    drupal_add_js(drupal_get_path('theme','fource').'/js/image_scale.js');
    drupal_add_css(drupal_get_path('theme','fource').'/css/index_style.css');
  }
}

这是我试过的:

function fource_preprocess_html(&$vars) {
  if($vars['is_front']) {
    drupal_add_js(drupal_get_path('theme','fource').'/js/image_scale.js');
    drupal_add_css(drupal_get_path('theme','fource').'/css/index_style.css');
  }else{
   drupal_add_css(drupal_get_path('theme','fource').'/css/main.css');
}

有人可以告诉我为什么这不起作用吗?

2 个答案:

答案 0 :(得分:3)

你刚刚错过了else语句的闭包(错过了一个大括号)。将您的代码更改为以下内容:

function fource_preprocess_html(&$vars) {
  if ($vars['is_front']) {
    drupal_add_js(drupal_get_path('theme','fource').'/js/image_scale.js');
    drupal_add_css(drupal_get_path('theme','fource').'/css/index_style.css');
  }
  else {
    drupal_add_css(drupal_get_path('theme','fource').'/css/main.css');
  } // <-- this is the bit you're missing
}

答案 1 :(得分:0)

我是这样做的insidfe html.tpl.php。任何人都有理由说这是一个糟糕的解决方案吗?

<?php print $styles; ?>
<style type="text/css" media="screen">
    @import url(/sites/all/themes/PATH-TO-CSS);
    <?php if ($is_front):?>
        @import url(/sites/all/themes/PATH-TO-HOME-ONLY.css);
    <?php endif; ?>
</style>