Utente: Anonymous

Visualizzazione

Preparazione alla visualizzazione del nodo - node_view()

Abbiamo visto che la funzione node_load() insieme ad altre funzioni di integrazione, nomemodulo_nodeapi() e nomemodulo_load() , genera l'oggetto $node con tutte le informazioni sul nodo e, tra queste, quelle sul contenuto primario ($node->body) e sul sommario ($node->teaser). Drupal deve ora leggere queste informazioni e prepararle per la visualizzazione finale.
La fase di preparazione del contenuto usa la funzione node_view(). In questa fase Drupal applica al contenuto primario, mediante la funzione check_markup(), i filtri indicati al momento della creazione del nodo e genera l'array $node[content]. E' questa l'array che verrà utilizzata dalle funzioni del tema per visualizzare il contenuto sulla pagina.
Il contenuto è posto in $node[content][body][#value]. Attenzione l'espressione 'body' dell'array indica semplicemente il contenuto primario che può essere o il body o il teaser del nodo asseconda di cosa sta visuallizzando Drupal.
Quale funzione prepara il contenuto?
La preparazione è generalmente eseguita chiamando la funzione node_prepare($node, $teaser). Questa filtra il valore $node->body o $node->teaser e li aggiunge all'array $node[content]. Quindi il controllo del testo (filtro) è eseguito in questa fase.
Ma Drupal ci da anche la possibilità di usare una nostra funzione invece di node_prepare(). Supponendo che il tipo di nodo corrente sia gestito dal modulo miomodulo, Drupal eseguirà , se esistente, la funzione miomodulo_view($node, $teaser, $page) i
Aggiunta di altri campi da visualizzare

View

Inoltre Drupal chiama, se esistenti, le seguenti funzioni definibili dall' utente:

  • se il nodo è gestito dal modulo "modulo", la funzione modulo_view($node, $teaser, $page).
  • tutte le funzioni nomemodulo_nodeapi($node, 'view',$teaser, $page) definite nei moduli attivi.

Il valore di ritorno delle funzioni, se presente, non è letto.

Alter

Drupal prima di inviare il nodo alle funzioni di rendering, per ogni modulo chiama la funzione:
nomemodulo_nodeapi($node, 'alter',$teaser, $page) e al termine il nodo è passato alla funzione theme('node) per essere definitivamente visualizzato.

Oltre alle informazioni ricavate dalle tabelle NODE e NODE_REVISIONS, all'oggetto $node sono associati i Links di navigazione del nodo che , generalmente, compaiono al termine del sommario di un nodo in prima pagina. Se presenti sono inseriti nell' array $node->links.
L'array è riempita da ogni modulo che implementa la funzione:
nomemodulo_link($type, $node, $teaser = FALSE)
essendo:
$type il tipo di nodo (ad esempio 'node'),
$node l'oggetto in cui inderire l'array del link,
$ teaser indica se il nodo è in prima pagina o meno.

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linee e paragrafi vanno a capo automaticamente.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
Questa domanda serve a verificare che il form non venga inviato da procedure automatizzate
Image CAPTCHA
Enter the characters shown in the image.