template.php

Šablona template.php (en) umožňuje předefinovat výchozí a vytvářet vlastních funkce.

Odpovídající funkce je možné vyhledat na stránkce Default theme implementations (en).

Odstranění názvu a drobečkové navigace z úvodní stránky

Výraz "template" nahraďte za název tématu.

<?php
function template_preprocess_page(&$variables) {
  //If front page remove title and breadcrumb
  if (drupal_is_front_page()) {
    $variables['breadcrumb'] = '';
    $variables['title'] = '';
  }
}
?>

Potlačení CSS souborů definovaných jádrem a moduly

Téma vzheldu může nahradit CSS soubory definované jádrem a moduly přidáním stylopisu stejného jména a použitím funkce drupal_add_css(). Toto umožňuje tématům potlačit veškeré CSS soubory pokud je to nutné.

Například pokud chcete styl modules/system/system-menus.css definovaný jádrem nahradit (potlačit pro určitá média) vlastním:

  1. V používaném tématu vzhledu vytvořte např. v adresáři styles soubor system-menus.css s požadovanými styly.
  2. V používaném tématu vzhledu vytvořte (upravte) souboru template.php, do kterého vložte:
    <?php
      drupal_add_css(path_to_theme() .'/styles/system-menus.css', 'theme', 'screen, projection', TRUE);
    ?>
    

Výše uvedený příklad se načte pouze pro dané téma, tj. nenačte se pro případná podtémata. Pokud potřebujete používat přepis stylu i v podtématech přidejte jej přímo do .info souboru.

Odstranění zvolených meta tagů

/*​*
* Used to remove certain elements from the $head output within html.tpl.php
*
* @see http://api.drupal.org/api/drupal/modules--system--system.api.php/functio...
* @param array $head_elements
*/
function YOUR_THEME_NAME_html_head_alter(&$head_elements) {
    $remove = array(
        'system_meta_generator',
        'metatag_canonical',
        'metatag_shortlink'
   );
    foreach ($remove as $key) {
        if (isset($head_elements[$key])) {
            unset($head_elements[$key]);
        }
    }
    // Use this loop to find out which keys are available.
    /* -- Delete this line to execute this loop
    echo '<pre>';
    foreach ($head_elements as $key => $element) {
        echo $key ."\n";
    }
    echo '</pre>';
    // */
}