noeud

Récupérer (extraire) les données d'un noeud

Dans Drupal, il est tout à fait possible d'extraire n'importe quelles données d'un noeud (Page, Article etc etc) grâce aux API Drupal.

Quelles sont les données récupérables :

Exemple avec un article test créé spécialement.

Pour afficher cette description, il suffit d'utiliser l'API node_load en indiquant le NID du noeud concerné :

<?php
$nid = 412;
$node = node_load($nid);
print_r($node);
?>

Ce qui donne :

stdClass Object
(
    [vid] => 431
    [uid] => 0
    [title] => Article vide pour test
    [log] => 
    [status] => 0
    [comment] => 2
    [promote] => 0
    [sticky] => 0
    [nid] => 412
    [type] => story
    [language] => fr
    [created] => 1334738152
    [changed] => 1386527877
    [tnid] => 0
    [translate] => 0
    [revision_timestamp] => 1386527877
    [revision_uid] => 1
    [taxonomy_vocabulary_2] => Array
        (
        )

    [body] => Array
        (
            [und] => Array
                (
                    [0] => Array
                        (
                            [value] => 

Contenu vide pour test

[summary] => [format] => 2 [safe_value] =>

Contenu vide pour test

[safe_summary] => ) ) ) [rdf_mapping] => Array ( [rdftype] => Array ( [0] => sioc:Item [1] => foaf:Document ) [title] => Array ( [predicates] => Array ( [0] => dc:title ) ) [created] => Array ( [predicates] => Array ( [0] => dc:date [1] => dc:created ) [datatype] => xsd:dateTime [callback] => date_iso8601 ) [changed] => Array ( [predicates] => Array ( [0] => dc:modified ) [datatype] => xsd:dateTime [callback] => date_iso8601 ) [body] => Array ( [predicates] => Array ( [0] => content:encoded ) ) [uid] => Array ( [predicates] => Array ( [0] => sioc:has_creator ) [type] => rel ) [name] => Array ( [predicates] => Array ( [0] => foaf:name ) ) [comment_count] => Array ( [predicates] => Array ( [0] => sioc:num_replies ) [datatype] => xsd:integer ) [last_activity] => Array ( [predicates] => Array ( [0] => sioc:last_activity_date ) [datatype] => xsd:dateTime [callback] => date_iso8601 ) ) [cid] => 0 [last_comment_timestamp] => 1334738152 [last_comment_name] => [last_comment_uid] => 1 [comment_count] => 0 [name] => [picture] => 0 [data] => )

Si on souhaite afficher la date de création du noeud, il suffit d'écrire

<?php
$nid = 412;
$node = node_load($nid);
$timestamp = $node->created;
$date = date("d-m-Y", $timestamp);
echo $date;
?>

Ce qui donne :

18-04-2012

Pour afficher le body

<?php
$nid = 412;
$node=node_load($nid);
print $node->body;
?>

Ce qui donne :

Array
Etiquettes: