Obtenir au nœud actuel est une douleur gênante dans le postérieur. La pratique courante est de faire quelque chose comme ceci:
if (arg(0) == 'node' && is_numeric(arg(1)) && arg(2) == '') {
$node = node_load(arg(1));
// Collect output.
}
arg()
tire des éléments hors du chemin Drupal. Puisque tous les noeuds (quel que soit le nom qu'un alias de chemin puisse vous montrer) apparaissent à node/#, en vérifiant 'node' et que le second élément est un nombre, vous avez assez de chances d'avoir les mains sur un noeud. La vérification du troisième élément de chemin vous permet d'éviter le traitement sur le formulaire d'édition de nœud et les autres pages qui se trouvent sur un nœud spécifique.
Les valeurs de CCK sont chargés dans le nœud, et regardent habituellement quelque chose comme ceci:
// Text field. Structure also works for number fields.
$text = $node->field_my_text_field[0]['value']
// Node Reference field.
$nref = $node->field_my_nref_field[0]['nid']
// User Reference field.
$uref = $node->field_my_uref_field[0]['uid']
L'élément de tableau « 0 » indique le delta du champ. Tout champ donné peut réellement traiter plusieurs valeurs, et la structure de tableau dans CCK suppose cette possibilité même si vous limitez le champ à une seule valeur.
C'est fantastique merci. Je suis surpris qu'il n'y ait pas de fonction Drupal intégrée pour obtenir l'identifiant du nœud! – Camsoft