简体   繁体   中英

Adding custom code to <head> in Drupal

I'm trying to figure out where the <head> for all of the pages in Drupal is (I'm using Orange theme if it matters). I have to add analytics code into the <head> .

Inside which file would I find the <head> ?

Use drupal_set_html_head() by placing this in your themes template.php file. If the function MYTHEMENAME_preprocess_page() already exists insert what is inside the { closure } brackets below (before the $vars['head'] if that exists in it as well) :

function MYTHEMENAME_preprocess_page(&$vars, $hook) {
  // say you wanted to add Google Webmaster Tools verification to homepage.
  if (drupal_is_front_page()) {
    drupal_set_html_head('<meta name="google-site-verification" content="[string from https://www.google.com/webmasters/verification/verification]" />');
    $vars['head'] = drupal_get_html_head();
  }
}

In template.php of your theme folder :

function your_theme_preprocess_html(&$variables) {  

    $appleIcon57px = array(
        '#tag' => 'link',
        '#attributes' => array(
            'rel' => 'apple-touch-icon',
            'href' => '/images/ICONE-57.png',
            'type' => 'image/png',
            'media' => 'screen and (resolution: 163dpi)'
        )
    );
    drupal_add_html_head($appleIcon57px, 'apple-touch-icon57');
}

If you look in your theme folder you'll see page.tpl.php , that is the template for the site. You can add the code there most likely.

One another solution is to use blocks in header these can also managed very effectively using css.

  1. All you have to do is to go to Structure->Blocks then create new block.

  2. Then select theme corresponding to it and position in which section you want to show that block.

  3. Custom html like can be added. And can be handled from that id.

It allow me to handle page structure very easily.

In the theme folder (eg themes/orange ) there is a templates folder with the file html.tpl.php

In this file you can freely add what you need to the head section and it will be added to every page.

有一个 google anayitics 模块,只需您的密钥即可为您完成此操作。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM