Submitted by chtipepere on
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...
Essaye de supprimer la
Permalien Soumis par Damien Tournoud le 21 Mai, 2007 - 11:05
Essaye de supprimer la ligne
dans la fonction
video_view()
.… cela n’a rien changé,
Permalien Soumis par chtipepere le 21 Mai, 2007 - 11:15
... 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
Permalien Soumis par Damien Tournoud le 21 Mai, 2007 - 11:21
nan, pas celle-ci. Celle qui est plus haut dans la fonction.
ALLELUIA!!!!!!! Mais comment
Permalien Soumis par chtipepere le 21 Mai, 2007 - 11:22
ALLELUIA!!!!!!!
Mais comment cela se fait-ce????????
Quoiqu'il en soit MERCI!!!
Mais pourqoi diable faut-il commenter cette ligne??
Bah. L'auteur du module
Permalien Soumis par Damien Tournoud le 21 Mai, 2007 - 11:29
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.Ok, je crois que j'ai
Permalien Soumis par chtipepere le 21 Mai, 2007 - 11:48
Ok, je crois que j'ai compris.
En tous cas, un tout grand merci.
Je salue tes connaissances poussées de Drupal.
Bien à toi.