wprowadzenie do pisania własnych modułów oraz do systemu menu

Download Wprowadzenie do pisania własnych modułów oraz do systemu menu

If you can't read please download the document

Upload: grzegorz-bartman

Post on 12-Jun-2015

1.119 views

Category:

Documents


3 download

DESCRIPTION

Wprowadzenie do pisania własnych modułów oraz do systemu menu. - Agnieszka Cupek - Drupal idzie na studia

TRANSCRIPT

  • 1. Wprowadzenie do pisaniawasnych moduw oraz do systemu menu. prezentujcy: Agnieszka Cupek Programista serwisw internetowych

2. Moduy - wprowadzenieCo to jest Modu: to podstawowy element, na bazie ktrego funkcjonuje Drupal to element rozszerzajcy standardowe moliwoci Drupala.Rodzaje moduw: Moduy rdzenia s to moduy dostarczone razem z standardow instalacj Drupala przechowywane w /modules Moduy dodatkowe to wszystkie moduy tworzone przez spoeczno Drupalow, rozszerzajce moliwoci Drupala. Baza moduw http://drupal.org/project/modules 3. Tworzenie moduuUwaga:Wszystkie moduy dodatkowe umieszczamy w folderze/sites/all/modules, gdzie moemy dodatkowo zastosowa podzia np.: Moduy dodatkowe napisane przez spoeczno Drupalow przechowywane w folderze /contrib. Moduy dodatkowe napisane przez nas samych przechowywane w folderze /custom.Podstawowe elementy moduu: Plik nazwa_modulu.info plik konfiguracyjny umoliwiajcy prawidowe rozpoznanie moduu. Plik nazwa_modulu.module plik z kodem moduu. 4. Struktura pliku .info (1)Struktura pliku .info wyglda nastpujco: name=Firstmodule description=Myfirstmoduleusinghook_menu core=7.x files[]=first_module.module *dependencies[]= *dependencies[]= *version=7.x1.0 package=Drupalidzienastudia *php=5.2Oznaczenie:*opcjonalnie 5. Struktura pliku .info (2)Gdzie atrybut:nameokrela nazw moduu.descriptionzawiera opis moduu.coreokrela wersj Drupala, do ktrej zosta dostosowany modu.dependencies[]okrela zalenoci od innych moduw.packagedefiniuje pakiet, do ktrego przynaley modu.phpdefiniuje wersj PHP wymagan przez modu.versiondefiniuje wersj moduu. 6. Struktura pliku .module (1)/***Implementshook_menu().*/functionfirst_module_menu(){$items[first_page]=array(title=>Thisisfirstpage,pagecallback=>first_page,accesscallback=>TRUE,type=>MENU_NORMAL_ITEM,);$items[hello/%]=array(title=>Thisissecondpage,pagecallback=>second_page,pagearguments=>array(1),accesscallback=>TRUE,type=>MENU_CALLBACK,);return$items;} 7. Struktura pliku .module (2)/***Callbackforthefirstpage.*/functionfirst_page(){returnt(Thisismyfirstmodule);}/***Callbackforthesecondpage.**@paramstring$name*Stringwiththeusername.*/functionsecond_page($name=NULL){printt(Hello@name,array(@name=>$name));} 8. System menuSystem menu mona potraktowa jako trzy gwne funkcjonalnocimajce ze sob zwizek:Mapowanie wywoa zwrotnych.Kontrola dostpu.Dostosowanie menu. 9. Mapowanie wywoa zwrotnych 10. hook_menu (1)Atrybuty funkcji hook_menu:title nieprzetumaczalny tytu elementu menu;page callback funkcja wywoywana w celu wywietlenia strony wmomencie wywoania przez uytkownika danej cieki;page arguments tablica argumentw przekazywanych dowywoania zwrotnego strony;access callback funkcja zwracajca warto logiczn, okrelajcczy uytkownik ma dostp do danej strony;access arguments tablica argumentw przekazywana dopowyszej funkcjitype atrybut opisujcy waciwoci elementu menu; 11. hook_menu (2)Dostpne wartoci argumentu type:MENU_NORMAL_ITEM zwyky element menu wywietlany wstrukturze menu, moliwy do zarzdzania przez administratoraMENU_CALLBACK wywoanie zwrotne rejestrujce ciek, gdyuytkownik wywoa dany URL wykona si zdefiniowana funkcjaMENU_LOCAL_TASK elementy menu wywietlane s jakozakadkiMENU_DEFAULT_LOCAL_TASK element menu wywietlany jakozakadka domylna 12. Kontrola dostpuW przykadzie zastosowalimy: accesscallback=>TRUECo oznacza, e kady uytkownik ma dostp do elementu menu.Jak kontrolowa dostp do menu?Wystarczy podczas definiowania elementu menu ustawi atrybuty: accesscallback=>user_access, accessarguments=>array(accessgoodbye)Funkcja user_access() - jest domyln funkcj sprawdzajc dostpuytkownika. 13. StandardyPiszc moduy naley stosowa si do obowizujcych standardwDrupalowych.Dlaczego?Poniewa moduy pisane s przez spoeczno Drupalow stosowaniesi do standardw uatwia i usprawnia prac innych ludzi.Szczegowe konwencje programistyczne obowizujce w Drupaluznale mona na stronie http://drupal.org/coding-standardsNarzdzie wspierajce programistw:Modu Coder http://drupal.org/project/coder 14. Dzikuj za uwag