Díky aplikačnímu rozhraní API (Application Programming Interface) nemusíte zasahovat do zdrojového kódu Drupalu a tudíž nebudete mít problémy při pozdější aktualizaci. API se hodí zejména při úpravách vzhledu a vývoji vlastních modulů.
Získá odkazy drobečkové navigace pro aktuální stránku.
drupal_get_breadcrumb()
includes/common.inc, line 95
Řetězec obsahující odkazy drobečkové navigace.
Vlastní úprava drobečkové navigace:
<?php
// if ($breadcrumb) print $breadcrumb;
if ($breadcrumb) {
$subtheme_start_page = "<a href=\"/views/news\"
title=\"Úvodní stránka novinek\">Novinky</a>";
$crumbs = drupal_get_breadcrumb();
$home_page = array_shift($crumbs);
array_unshift($crumbs, $home_page, $subtheme_start_page);
print theme_breadcrumb($crumbs);
}
?>
Formátuje vnitřní odkaz.
Funkce l správně manipuluje s odkazy, které mohou mít vytvořené aliasy a umožňuje upravovat jejich vlastnosti. Všechny vnitřní odkazy výstupů modulů by měly být generovány touto funkcí.
l($text, $path, $options = array())
includes/common.inc, řádek 1534
Níže jsou uvedena data pro Drupal 5!
$text – text, který bude uzavřen v odkazu
Veškerý text, který může člověk přečíst a má být zobrazen na stránce by měl být zobrazován funkcí t().
$path – cesta odkazu
Může být externí nebo interní:
při zadání úplné cesty bude považována za externí
při zadání pouze cesty např. "admin/content/node" bude považována za interní
v tomto případě musí být systémovou cestou, aby mohl být generován případný alias pomocí funkce url()
$attributes – asociativní pole HTML atributů aplikovaných u elementu odkazu
fragment – vytváří za odkazem "#kotvu" na ID v html zdroji
$query – řetězec přidaný k odkazu za otazníkem (& parametr)
$fragment – identifikátor přidaný k odkazu (# kotva)
$absolute – vynutit absolutní odkaz začínající http:
Užitečné pro odkazy, které budou zobrazovány mimo web, jako například RSS kanály.
$html – podporovat HTML elementy
Hodnota TRUE je např. nutná pro správné zobrazení HTML tagů např. obrázků, jinak se místo obrázku zobrazí v odkazu prostý text (případně HTML entity).
<?php
l(t('Home'), '<front>', array('title' => $site_name, 'class' =>
'link', 'id' => 'home'), NULL, NULL, FALSE, FALSE);
l('<span>' . t('My Node') . '</span>', 'node/1', array('html' => TRUE, 'fragment' => 'my-anchor', 'attributes' => array('title' => t('Hover Desciption'))));
?>
HTML řetězec obsahující odkaz na určenou cestu.
Zjišťuje existenci modulu.
module_exists($module)
$module – název modulu
<?php if(module_exists('themer')) print ' '. themer_body_class(); ?>
Logická hodnota TRUE, pokud je modul nainstalován a povolen.
Překládá řetězce do jazyka stránky nebo určeného jazyka.
Veškerý text, který může člověk přečíst a má být zobrazen na stránce by měl být zobrazován touto funkcí.
t($string, $args = array(), $langcode = NULL)
includes/common.inc, řádek 734
$string – řetězec obsahující anglický text k přeložení.
$args – asociativní pole náhrad vytvořených po překladu. Všechny výskyty každého klíče v tomto poli jsou nahrazeny odpovídající hodnotou.
Klíče se speciálním významem:
$langcode – volitelný kód jazyka překladu odlišný od jazyka stránky
Přeložený řetězec.
Vrací nastylovaný výstup.
<?php
print theme('username', $node);
?>
Vrací nastylovanou drobečkovou navigaci.
theme_breadcrumb($breadcrumb)
includes/theme.inc, line 1226
$breadcrumb – pole obsahující odkazy drobečkové navigace
Řetězec obsahující drobečkovou navigaci.
Vlastní úprava drobečkové navigace:
<?php
// if ($breadcrumb) print $breadcrumb;
if ($breadcrumb) {
$subtheme_start_page = "<a href=\"/views/news\"
title=\"Úvodní stránka novinek\">Novinky</a>";
$crumbs = drupal_get_breadcrumb();
$home_page = array_shift($crumbs);
array_unshift($crumbs, $home_page, $subtheme_start_page);
print theme_breadcrumb($crumbs);
}
?>
Funkce získá nastavení z aktuálního tématu, která byla zadána v administraci webu.
theme_get_setting($setting_name, $refresh = FALSE))
includes/theme.inc, řádek 900
$setting_name – název nastavení, které má být získáno.
$refresh - zda obnovit nastavení cache.
Hodnota požadovaného nastavení, NULL jestliže nastavení neexistuje.
Zobrazení poslání webu jako meta informace v hlavičce stránky:
<?php
$my_description = theme_get_setting('mission', false);
if ($my_description) {
print '<meta name="description" content="'. $my_description
.'" />';
}
?>