Drupal 7 如何在drupal中为主页调用CSS?

Drupal 7 如何在drupal中为主页调用CSS?,drupal-7,Drupal 7,基于Drupal7的网站有一个自定义主页。目前,整个drupal网站都有一个名为 style.css 。我已经为主页写了一个新的css。作为drupal的新手,我不知道如何指定主页以使用自定义css。如何使用这类东西 谢谢我不认为这是正确的选择 如果您自定义了主页,您可以添加一个包装器,其中包含一个特定于主页的类 然后,您可以使用style.css文件将该类作为目标,并将特定样式应用于主页 真诚地, dimitril不确定为什么要这样做,而不仅仅是使用不同的类,但如果确实需要,可以向主题添加te

基于Drupal7的网站有一个自定义主页。目前,整个drupal网站都有一个名为

style.css

。我已经为主页写了一个新的css。作为drupal的新手,我不知道如何指定主页以使用自定义css。如何使用
这类东西


谢谢

我不认为这是正确的选择

如果您自定义了主页,您可以添加一个包装器,其中包含一个特定于主页的类

然后,您可以使用style.css文件将该类作为目标,并将特定样式应用于主页

真诚地,
dimitril

不确定为什么要这样做,而不仅仅是使用不同的类,但如果确实需要,可以向主题添加
template.php
文件。在那里,使用
hook\u preprocess\u页面
根据主页添加新的样式表。将您的主题更改为您的主题名称

function YOUR_THEME_preprocess_page(&$variables) {
    $homepage_id = YOUR HOMEPAGE NODE ID;   
    if (isset($variables['node'])) {
        if ($variables['node']->nid == $homepage_id){
        drupal_add_css(path_to_theme() . '/css/homepage.css');
        }
    }
}

大多数主题都在body标签中内置了类来指定“is front”。也就是说,正确的方法是打开主题文件夹中的
template.php
,并添加以下代码:

function YOURTHEME_preprocess_node(&$variables) {
  $node = $variables['node'];

    if (drupal_is_front_page()) { 

        drupal_add_css(drupal_get_path('theme', 'YOURTHEME').'/css/homepage.css', 'theme'); 

    } 
}

您将用主题名称替换主题。

使用CSS标记.front仅针对Drupal 7中的主页。这对我来说很好

function YOUR_THEME_preprocess_page(&$variables) {
    $homepage_id = YOUR HOMEPAGE NODE ID;   
    if (isset($variables['node'])) {
        if ($variables['node']->nid == $homepage_id){
        drupal_add_css(path_to_theme() . '/css/homepage.css');
        }
    }
}
此示例仅针对主页中的第二个侧栏:

.front .region-sidebar-second{
    background-color: #E9EDF2;
}

如何获取“HomePageNodeID”?在上面的函数中添加echo“Node id:”$变量['node']->nid;然后进入你的主页。查看节点id后的内容:。这是您的节点id。是否设置了$node变量但从未使用过?顺便说一句,这对我不起作用。。任何你可以建议它的设置,以防你需要它(我把它从一个主题我正在工作)。所以你可以删除它,如果你喜欢的话,或者把它注释掉。首先,您将它放在主题文件夹的template.php中?您是否检查过它是否是唯一的预处理节点,或者是否有现有函数将if条件放在其中?