Koden brukt i gruppetimen med ekstra lesestoff.

Krav til oblig (kort oppsumert):

  1. Benytt Drupal API
  2. Fortrinnsvis eksponerer innhold for vanlige brukere («mykt krav»).
  3. Ha et administrativt grensesnitt.
  4. Bruk minst en egen tabell i databasen («mykt krav»).
  5. Har korrekt adgangskontroll – Ulike permissions for administrering vs visning av innhold.

De punktene som er merket med («mykt krav») gir bonus, men er ikke nødvendig å ha med for å bestå.

Dere kan hacke/forke en eksiterende modul også. Da må dere inkludere navnet på modulen dere har "forket" slik at vi da kan sjekke endringene dine.

Hvor er koden?

Jeg legger ved koden som ble brukt i første gruppetime på min github: https://github.com/RonjaKnudtsen/meems 

 

Noen lenker og videre lesing om hooks brukt i koden

Når man skriver kode i drupal kan man utnytte eksisterende funksjoner ved bruk av hooks, som f.eks hook_menu som er brukt i kildekoden over.

"Hooks are how modules can interact with the core code of Drupal. They make it possible for a module to define new urls and pages within the site (hook_menu), to add content to pages (hook_block, hook_footer, etc.), to set up custom database tables (hook_schema) and more. "

Understanding the hook system

Første funksjonen i koden heter meems_menu

Den bruker hook_menu:
“This hook enables modules to register paths in order to define how URL requests are handled.”
https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_menu/7.x

I page callbacket bruker vi en innebygged drupal funksjon "theme" og dens theme_item_list for generere en liste.  
https://api.drupal.org/api/drupal/includes%21theme.inc/function/theme_item_list/7.x

For å definere nye tillatelser som kan konfigureres i drupalsiden under people/permission bruker vi hook_permission 
https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_permission/7.x  
Her er også et blogginnlegg som beskriver permissions i drupal: https://www.drupal.org/node/553368  

For å lage et skjema som sendes inn bruker vi form_api i drupal: 
Form api tutorial: https://www.drupal.org/node/262422 
Vi har også en _validate og _submit funksjon som kjøres når skjemaet valideres og sendes inn. 

I neste uke skal vi gå innpå hvordan vi kan lage en node og hente ut noder fra databasen. 
SQL i drupal gjøres typisk med db_query eller db_select.