Spis treści |
Celem niniejszej części kursu jest "ożywienie" naszych mechanizmów i wyciągnięcie z bazy danych użytecznych informacji. Na początku stworzymy zwykłą stronę, na której będziemy mogli śledzić rozkład nastrojów naszych autorów. Podczas dodawania nowego newsa moduł powinien wpisać wybraną wartość do tabeli. Tą funkcją zwieńczymy nasze dzisiejsze zmagania. Do dzieła!
Nowa pozycja w menu
Do wstawienia nowej pozycji w menu użyjemy hook_menu. Jest on przeznaczony do zgłaszania Drupalowi stron oraz pozycji w menu, które chce zarezerwować moduł.
function dispositions_statistics() {
return 'Hello Kitty!';
}
function dispositions_menu() {
$items['admin/reports/dispositions'] = array (
'title' => t('Dispositions'),
'description' => t('Show dispositions of users'),
'page callback' => 'dispositions_statistics',
'access callback' => TRUE,
);
return $items;
}
Po przeładowaniu naszego modułu w menu Reports pojawi się opcja Dispositions prowadząca do uroczej strony z napisem "Hello Kitty!".
Drupal automatycznie umieścił we wskazanym miejscu potrzebne linki.
Jak działa hook_menu?
Implementacja hook_menu to funkcja pozwalająca zarezerwować Ci dowolny, nie zajęty adres - URL - i umieścić pod nim, co Ci się żywnie podoba. Możesz również wskazać w ten sposób miejsce, w którym chcesz umieścić link w menu.
Jeżeli przyjrzysz się bliżej adresom, klikając kolejne pozycje, zobaczysz, że układają się w pewną hierarchię, która odzwierciedlona jest w adresie strony internetowej.
Nasz hook zarejestrował adres admin/reports/dispositions. Oznacza to iż chcemy, aby link znalazł się w menu admin w kategorii reports i nazywał się dispositions.
Hierarchia adresów w Drupalu (1) admin, (2) reports, (3) dispositions.
Title oraz description to widoczny na rysunku nr 1 opis oraz nazwa naszej strony w hierarchii menu. Każda strona dla Drupala to nic innego jak funkcja, która zwraca odpowiednią treść, którą należy umieścić pod podanym adresem.
Wracając do kodu hook_menu - ostatnim argumentem jest jeden z parametrów określających dostęp do witryny. Drupal posiada bardzo rozbudowany mechanizm uprawnień, nam jednak zależy, aby wstępnie statystyki były dostępne dla każdego. Stąd wartość TRUE przy opcji access callback, którą można przetłumaczyć jako "zawsze zezwalaj na wywołanie".
Ładowanie







Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.8) Gecko/20100722 AskTbFXTV5/3.8.0.12304 Firefox/3.6.8 ( .NET CLR 3.5.30729)
Jan Koprowski
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4