2011-03-16 64 views

回答

4

快速,安全,輕鬆地以編程方式創建新的節點是使用node_save()

<?php 
    // Construct the new node object. 
    $node = new stdClass(); 

    // Set the values for the node 
    $node->title = "My new forum topic"; 
    $node->body = "The body of my forum topic.\n\nAdditional Information"; 
    $node->type = 'forum'; // Your specified content type 
    $node->created = time(); 
    $node->changed = $node->created; 
    $node->status = 1;  // To have published, else use 0 
    $node->promote = 1;  // If you want promoted to front page, else use 0 
    $node->sticky = 0; 
    $node->format = 1;  // Filtered HTML 
    $node->uid = 1;   // UID of content owner 
    $node->language = 'en'; 

    // If known, the taxonomy TID values can be added as an array. 
    $node->taxonomy = array(2,3,1,); 

    node_save($node); 
?> 
1

一個論壇主題是真的只是一個節點,所以node_save是爲所有需要的鉤子將被稱爲最好的選擇。

2

Drupal 7的例子:

要創建新的論壇

$forum = new stdClass(); 
    $forum->name = uniqid(); 
    $forum->description = uniqid(); 
    $forum->parent = array(0); 
    $forum->weight = 0; 
    $forum->vid = variable_get('forum_nav_vocabulary', 0); 
    taxonomy_term_save($forum); 

要創建新主題

$node = new stdClass(); 
    // Set the values for the node 
    $node->title = "My new forum topic"; 
    $node->body = "The body of my forum topic.\n\nAdditional Information"; 
    $node->type = 'forum'; // Your specified content type 
    $node->created = time(); 
    $node->changed = $node->created; 
    $node->status = 1; // To have published, else use 0 
    $node->comment = 2; // To have active, else use 0 
    $node->uid = 1; // UID of content owner 
    //Creates topic at the first "forum" 
    $node->forum_tid = reset(array_keys(taxonomy_term_load_multiple(array(), 
    array('vid' => variable_get('forum_nav_vocabulary', 0))))); 
    $node->language = LANGUAGE_NONE; 
    $node->taxonomy_forums[LANGUAGE_NONE][0]['tid'] = $node->forum_tid; 
    node_save($node); 

要創建主題的評論

$comment = (object)array(
      'nid' => $node->nid, 
      'pid' => 0, 
      'cid' => 0, 
      'uid' => 1, 
      'mail' => '', 
      'is_anonymous' => 0, 
      'homepage' => '', 
      'status' => COMMENT_PUBLISHED, 
      'subject' => 'subject test ' . uniqid(), 
      'language' => LANGUAGE_NONE, 
      'comment_body' => array(
       LANGUAGE_NONE => array(
        0 => array(
         'value' => 'Comment Body ' . uniqid(), 
         'format' => 1 
        ) 
       ) 
      ), 
     ); 
    comment_submit($comment); 
    comment_save($comment); 
0

使用D7實體API

global $user; 
$options = array(
'type' => 'forum', 
'uid' => $user->uid, 
'status' => 1 
); 
$entity = entity_create('node', $options); 
$wrapper = entity_metadata_wrapper('node', $entity); 
$wrapper->title = 'Topic Title; 
$wrapper->body = 'Topic Body;  
$terms = taxonomy_get_term_by_name ('General discussion','forums'); //names of tid and vid 
$wrapper->taxonomy_forums = reset($terms)->tid; 
$wrapper->save();