2012-07-24 1 views
4

Je souhaite mettre à jour certains nœuds de mon système et mettre à jour une taxonomie particulière qui leur est attachée. J'ai besoin de faire ce travail par programme. J'ai des identifiants de noeud et l'identification de terme et veux attacher ce terme à ce noeud particulier. Qu'est-ce qui devrait faire l'affaire ici?Drupal Définir le terme par programme pour un nœud

Merci

Répondre

6

Pour obtenir le nœud:

$node = node_load($X); // $X is node ID. 

Pour ATTACHE un terme ID - notez que cela est très différent D7:

$node->taxonomy[$tid] = taxonomy_get_term($tid); // $tid is attaching term ID. 

Pour ajouter la révision:

$node->revision = 1; 
$node->log = "Programatically attached taxonomy term."; 

Pour sauver noeud e - si le nœud est nouveau:

node_submit($node); 
node_save($node); 

ou, pour sauver le nœud si c'est un nœud existant:

node_save($node); 

Dans Drupal 7, les termes sont fixés comme éléments de champ normales afin field_first_name [0] signifie la première occurrence du champ. Ne confondez pas cette fonctionnalité avec les termes. Vous pouvez en ajouter autant que vous le souhaitez.

Mise à jour: Merci à kliker pour le edit, qui a été malheureusement rejeté. Il seems Je dois modifier le poste moi-même pour obtenir son changé dans cette réponse.

Questions connexes