[Résolu] Comment est généré le contenu d'une page?

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Toujours dans le cadre de mon combat contre le teaser du module vidéo (*), je souhaiterais que quelqu'un m'explique comment est généré le contenu d'une page?
Prenons la page d'accueil, à quel endroit Drupal différencit-il les types de contenus et appelle-t-il les fonctions des différents modules correspondants au type en cours.
Par exemple, dans video.module, on a la fonction video_view(), mais où est appelée cette fonction?

(*) : pour rappel, sur ma page d'accueil (et toutes les pages listants des noeuds), c'est le champ body d'un noeud vidéo qui est affiché, à la place du teaser. Ca fait 2 semaines, et toujours pas de solution, je désespère, donc je décortique Drupal pour essayer de palier à ça...

Version de Drupal : 

... cela n'a rien changé, mais je pense que c'est normal puisque cette ligne se trouve dans le cas où l'on affiche une page :

<?php
if($page)
{
   
$output = '';
/* ... */
   
$node->content['body'] = array('#value' => $output);
}
?>

J'ai raison? :s

nan, pas celle-ci. Celle qui est plus haut dans la fonction.

<?php
function video_view(&$node, $teaser = FALSE, $page = FALSE) {
 
$node = node_prepare($node, $teaser); // ...

  // include the video css file
 
drupal_add_css(drupal_get_path('module', 'video').'/video.css');
 
// CELLE CI
 
$node->content['body'] = array('#value' => $node->body);

[...]
}
?>

Bah. L'auteur du module video n'a manifestement pas compris comment fonctionne le nouveau hook_view().

Depuis Drupal 5, en effet, ce hook sert à la préparation d'un affichage donné (ie. un teaser ou une page) et non pas, comme précédemment de l'affichage considéré de manière générique.

Le contenu du teaser et du body sont mis en cache lors de la préparation du noeud, mais le module peut choisir dynamiquement ce qu'il va afficher dans le hook_view(). Pour cela, il rempli le tableau $node->content comme il le souhaite.