Lavorare con il database in Drupal 7 – Lezione 10 – Query di eliminazione (DELETE)
Le query di eliminazione devono essere costruite utilizzando il costruttore di query. Esse iniziano con la funzione db_delete():
Lavorare con il database in Drupal 7 – Lezione 11 – Query di unione (MERGE)
Le query di unione (MERGE) sono un tipo speciale di query ibrida. Sebbene la sintassi per queste query sia stata definita nello standard SQL 2003, di fatto non esistono database che supportano completamente tale sintassi. Tuttavia, la maggior parte dei database offre un’implementazione alternativa attraverso una propria sintassi specifica. Il costruttore di query di unione di Drupal astrae il concetto di merge in una struttura a oggetti, così che l’oggetto possa essere compilato in modo diverso a seconda del database utilizzato.
Lavorare con il database in Drupal 7 – Lezione 12 – Condizioni delle query (WHERE, HAVING, LIKE)
Una condizione di query consente di selezionare solo i record che soddisfano determinati criteri, ad esempio i nodi creati non più di due settimane fa, o i termini che contengono la parola "drupal", e così via. In SQL utilizziamo WHERE e HAVING per impostare le condizioni nei comandi SELECT, UPDATE e DELETE. Anche nelle query dinamiche di Drupal è implementato un meccanismo per lavorare con le condizioni di query. Questo meccanismo funziona allo stesso modo per tutti e tre i tipi di query: selezione, aggiornamento ed eliminazione.
Creare un modulo in Drupal: avvio rapido
Iniziamo da api.drupal.org: apri la pagina dell’hook hook_node_presave(), che viene eseguito prima dell’aggiunta di un nodo.
http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_validate/7
Gli hook ci permettono di inserire il nostro codice nel normale flusso di esecuzione di Drupal, aggiungendo controlli, campi di dati, elementi dei form e così via.
Di cosa è composto un modulo in Drupal 7?
Prima di iniziare a creare il nostro modulo, parliamo un po’ delle potenzialità delle API di Drupal. Le API offrono ampie possibilità per lavorare con Tassonomia, nodi, utenti, e per leggere e scrivere dati nel database. Per permettere l’interazione tra i moduli e il core di Drupal, nonché tra i moduli stessi, Drupal utilizza un sistema di hook. Un hook è una chiamata di ritorno (callback): quando l’esecuzione del codice arriva a un determinato hook, viene inserito e eseguito anche il codice della nostra funzione, che abbiamo definito nel nostro modulo.
Drupal 7 hook_block_info() e hook_block_view() — visualizzare le informazioni in un blocco
Nella lezione precedente abbiamo creato un modulo per Drupal 7; in questa lezione continueremo ad ampliarne le funzionalitĂ . Aggiungeremo la visualizzazione di un blocco tramite gli hook hook_block_view() e hook_block_info(). In questo blocco verranno mostrate informazioni sugli ultimi utenti registrati sul sito, con un link alla loro pagina profilo.
Iniziamo con la descrizione di hook_block_info():
Definisce tutti i blocchi creati dal modulo.
hook_menu Drupal 7 — creazione di pagine tramite un modulo
Nella lezione precedente abbiamo visto come visualizzare le informazioni dal database utilizzando le API di Drupal, in particolare con gli hook hook_block_info() e hook_block_view(). In questa lezione mostreremo come visualizzare pagine, o più precisamente, come collegare una pagina ad altre parti di Drupal (menu, modulo di traduzione, template, ecc.) utilizzando l’hook hook_menu.
hook_permission Drupal 7 — permessi di accesso per diversi ruoli
Nelle lezioni precedenti abbiamo visualizzato pagine e blocchi in diverse posizioni e abbiamo anche utilizzato le proprietĂ "access arguments" e "access callback" per impostare restrizioni di accesso alle pagine. In questa lezione creeremo la possibilitĂ di modificare in modo piĂą flessibile i diritti di accesso alle operazioni tramite le pagine di amministrazione. Per farlo, utilizzeremo hook_permission() (in Drupal 6 era hook_perm()).
hook_permission()
Definisce i permessi per gli utenti.
Form API di Drupal 7 — Creazione di moduli in Drupal
Nei precedenti tutorial abbiamo conosciuto gli hook hook_block_info(), hook_block_view(), hook_menu() e hook_permission(), e ora possiamo creare programmaticamente quante pagine e blocchi vogliamo. In questa lezione conosceremo il Form API di Drupal 7 per creare moduli. Creeremo un modulo di amministrazione per gestire le funzioni del nostro modulo e cercheremo di utilizzare il maggior numero possibile di hook giĂ visti, per consolidare le competenze.
Tematizzazione di Drupal (stilizzazione e template)
Dalle prime due sezioni del manuale di Drupal su drupalbook.org hai imparato come installare un sito, aggiungere tipi di contenuto, creare contenuti di diversi tipi e visualizzarli tramite Views. Nelle sezioni successive hai potuto approfondire HTML e CSS. Ora è arrivato il momento di parlare di come modificare l’aspetto di questi contenuti utilizzando i CSS.