J'ai un problème étrange avec hook_view. Le problème est que hook_view n'est invoqué que si hook_load renvoie une valeur non valide, telle qu'une variable vide. Je ne sais pas ce qui provoque cela et je suis à bout de nerfs. J'apprécie beaucoup votre aide. Pour ce qui vaut la peine, j'ai un module de connexion d'image installé.Bizarre problème avec hook_view drupal
Drupal 6.x
MISE À JOUR
function mymodule_node_info(){
return array(
'nodetype1' => array(
'name' => t('nodetype1'),
'module' => 'mymodule_nodetype1',
'description' => t('....'),
'has_title' => TRUE,
'title_label' => t('Title'),
'has_body' => TRUE,
'body_label' => t('Body'),
),
'nodetype2' => array(
......
'module' => 'mymodule_nodetype2',
......
),
'nodetype3' => array(
......
'module' => 'mymodule_nodetype3',
......
),
'nodetype4' => array(
......
'module' => 'mymodule_nodetype4',
.......
),
);
}
function mymodule_nodetype1_load($node){
$query = 'SELECT f1,f2,...,f10 FROM {tb1} INNER JOIN {tb2} ON {tb1}.vid = {tb2}.vid WHERE {tb1}.vid = %d';
$result = db_query($query,$node->vid);
return db_fetch_object($result);
}
function mymodule_nodetype1_view($node, $teaser = FALSE, $page = FALSE){
$node = node_prepare($node, $teaser); // get it ready for display
$f1 = check_markup($node->f1);
..............
$f10 = check_markup($node->f10);
// Add theme stuff here
$node->content['mycontent'] = array(
'#value' => theme('defaultskin', $f1,...,$f10),
'#weight' => 1,
);
return $node;
}
function mymodule_theme(){
return array(
'defaultskin' => array(
'template' => 'node-defaultskin',
'arguments' => array(
'f1' => NULL,
......
'f10' => NULL,
),
),
);
}
Essayez-vous de rendre le noeud? – tamasd
Pouvez-vous élaborer? Parce que je ne suis pas sûr de ce que vous voulez dire. Mais, si vous demandez si je vois le contenu dans la vue de noeud, oui je fais. hook_view n'est invoqué ni dans la vue view - teaser, ni dans la vue node. – Andrew
Veuillez fournir le code. –