Werken met de database in Drupal 7 – les 10 – Verwijderquery’s (DELETE)
Verwijderquery’s moeten gebruikmaken van de querybuilder. Ze beginnen met de functie db_delete():
Werken met de database in Drupal 7 – les 11 – Merge-query’s (MERGE)
Merge-query’s zijn een speciaal hybride type query. Hoewel de syntaxis voor dergelijke query’s werd gedefinieerd in de SQL-standaard van 2003, ondersteunt vrijwel geen enkele database deze exacte syntaxis. De meeste databases bieden echter een alternatieve manier om vergelijkbare functionaliteit te bereiken via hun eigen specifieke syntaxis. De merge-query builder in Drupal abstraheert dit concept in een objectstructuur, zodat de query per database kan worden gecompileerd volgens haar eigen implementatie.
Werken met de database in Drupal 7 – les 12 – Queryvoorwaarden (WHERE, HAVING, LIKE)
Een queryvoorwaarde maakt het mogelijk alleen die records te selecteren die aan bepaalde criteria voldoen — bijvoorbeeld nodes die niet ouder zijn dan twee weken, of termen waarin het woord “drupal” voorkomt, enzovoort. In SQL gebruiken we WHERE en HAVING om beperkingen op te leggen aan SELECT-, UPDATE- en DELETE-query’s. In dynamische query’s in Drupal is een vergelijkbaar mechanisme voor voorwaarden geïmplementeerd. Dit werkt op dezelfde manier voor alle drie de querytypen: selecteren, bijwerken en verwijderen.
Een module maken in Drupal – snelle start
Laten we beginnen met api.drupal.org. Open de pagina van de hook hook_node_presave(), die wordt uitgevoerd voordat een node wordt opgeslagen.
http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_validate/7
Hooks stellen ons in staat om onze eigen code in het normale verloop van Drupal te integreren — we kunnen controles toevoegen, gegevensvelden, formulierelementen enzovoort.
Waaruit bestaat een Drupal 7-module?
Voordat we beginnen met het maken van onze module, zal ik nog wat vertellen over de mogelijkheden van de Drupal API. De API biedt uitgebreide functies voor het werken met taxonomie, nodes, gebruikers en het ophalen en opslaan van gegevens in de database. Voor de interactie tussen modules en de Drupal-core, evenals tussen modules onderling, beschikt Drupal over een systeem van hooks. Een hook is een functie-terugroep (callback), wat betekent dat wanneer Drupal de code uitvoert en een hook tegenkomt, jouw functiecode daaraan wordt toegevoegd.
Drupal 7 hook_block_info() en hook_block_view() informatie weergeven in een blok
In de vorige les hebben we een module gemaakt voor Drupal 7, en in deze les gaan we de functionaliteit van onze module uitbreiden. We voegen de weergave van een blok toe met behulp van de hooks hook_block_view() en hook_block_info(). In dit blok zullen we informatie tonen over de laatste geregistreerde gebruikers op de site, met een link naar hun profielpagina.
Laten we beginnen met de beschrijving van hook_block_info():
Definieert alle blokken die door een module worden aangemaakt.
hook_menu Drupal 7 het aanmaken van pagina’s via een module
In de vorige les hebben we bekeken hoe we informatie uit de database kunnen weergeven met behulp van de Drupal API, namelijk via de hooks hook_block_info() en hook_block_view(). In deze les gaan we pagina’s weergeven, of preciezer gezegd, met behulp van de hook hook_menu een pagina koppelen aan andere delen van Drupal: menu’s, de vertaalmodule, templates enzovoort.
hook_permission Drupal 7 toegangsrechten voor verschillende rollen
In de vorige lessen hebben we pagina’s en blokken op verschillende plaatsen weergegeven, en we hebben ook de eigenschappen 'access arguments' en 'access callback' gebruikt om toegangsbeperkingen tot pagina’s te definiëren. In deze les zullen we de mogelijkheid creëren om de toegangsrechten tot bewerkingen flexibeler te beheren via administratieve pagina’s. Hiervoor zullen we gebruikmaken van hook_permission() (in Drupal 6 heette dit hook_perm()).
Form API in Drupal 7 — formulieren maken in Drupal
In de vorige lessen hebben we kennisgemaakt met de hooks hook_block_info(), hook_block_view(), hook_menu() en hook_permission(). Nu kunnen we programmatisch zoveel pagina’s en blokken aanmaken als we willen. In deze les maken we kennis met de Form API van Drupal 7 om formulieren te bouwen. We gaan een formulier maken voor het beheren van de functionaliteit van onze module en proberen zoveel mogelijk van de eerder geleerde hooks toe te passen om onze kennis te versterken.
Drupal-theming (stijlgeving en sjablonen)
In de eerste twee delen van de Drupal-handleiding op drupalbook.org heb je geleerd hoe je een website installeert, contenttypes toevoegt, verschillende soorten inhoud aanmaakt en deze weergeeft via Views. In de volgende delen kon je kennismaken met HTML en CSS. Nu is het tijd om te leren hoe je het uiterlijk van die inhoud kunt aanpassen met behulp van CSS.