Š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).
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'] = ''; } } ?>
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:
<?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.
/** * 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>'; // */ }