Adding custom code to <head> in Drupal
Asked Answered
R

5

8

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>?

Rickey answered 14/2, 2011 at 2:34 Comment(1)
please add anything related to the head in html.tpl.php which is available in your themes folderPosset
B
3

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.

Booma answered 14/2, 2011 at 2:38 Comment(1)
i think so html.tpl.php is the right file instead of page.tpl.phpPosset
L
8

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();
  }
}
Leach answered 14/2, 2011 at 3:4 Comment(2)
This no longer works in Drupal 7 - $vars['head'] does not exists.Palaeontography
Furthermore :) drupal_set_html_head() has been renamed to drupal_add_html_head() in Drupal 7.Leach
M
4

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');
}
Maidie answered 18/9, 2015 at 9:12 Comment(0)
B
3

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.

Booma answered 14/2, 2011 at 2:38 Comment(1)
i think so html.tpl.php is the right file instead of page.tpl.phpPosset
D
0

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.

Doublure answered 8/4, 2014 at 5:17 Comment(0)
U
0

In the theme folder (e.g. 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.

Unifoliolate answered 28/12, 2019 at 5:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.