Utente: Anonymous

Eventi

Drupal durante le operazioni di caricamento, inserimento, aggiornamento, cancellazione e visualizzazione dei nodi , consente allo sviluppatore di eseguire funzioni personalizzate per alterare la modalità operativa standard.
Indichiamo con:

  • nomemodulo il nome di un modulo personallizzato che implementa le funzioni richieste.
  • nomemodulotipo il nome del modulo che gestisce il tipo di nodo, letto dalla tabella NODE_TYPE nel campo module. Nel caso che il tipo sia node, nomemodulotipo sarà uguale a node_content, e i nomi di funzione dovranno essere quindi node_content_load, node_content_view, node_content_save, questo perchè le funzioni node_load, node_view, node_save etc. sono funzioni standard di Drupal.
  • nometipo il nome del tipo di nodo.

Per ogni tipo di operazione, la sequenza con cui sono descritte le funzioni coincide con quella di esecuzione.
Di seguito riportiamo le funzioni che , se esistenti, sono chiamate da Drupal nei diversi contesti.

Caricamento

nomemodulotipo_load(&$node,$page,$teaser)

Implementata nel modulo che gestisce il tipo di nodo, consente di caricare dei campi aggiuntivi all'oggetto nodo.

nomemodulo _nodeapi($node,$op='load')

Consente a ogni modulo che la implementa di aggiungere ulteriori campi all'oggetto nodo non definiti nella tabella NODE.

Visualizzazione

nomemodulotipo_view($node,$page,$teaser)

Implementata nel modulo che gestisce il tipo di nodo, se presente sosituisce la funzione node_prepare() che è responsabile della generazione dell'array $node->[content].

nomemodulo _nodeapi(&$node,$op='view')

Consente a ogni modulo che la implementa di preparare alla visualizzazione i campi aggiunti al nodo.

nomemodulo_link($type, $node, $teaser = FALSE)

$type è il tipo di nodo (ad esempio 'node'),
Consente a ogni modulo che la implementa di aggiungere links da visualizzare nel nodo corrente.

nomemodulo_link_alter(&$node->links)

Consente a ogni modulo che la implementa di modificare l'intero array dei links da visualizzare nel nodo corrente.

nomemodulo_nodeapi($node,'alter', $teaser, $page)

Consente a ogni modulo che la implementa di modificare l'intero oggetto $node prima che il nodo sia passato alla funzione theme('node', $node).