it-swarm-korea.com

새 사용자를 만들 때 프로그래밍 방식으로 새 노드를 만드는 방법은 Drupal 7?

새 사용자가 생성 될 때 프로그래밍 방식으로 새 노드 (일부 정의 된 유형)를 만들고 그를 해당 노드의 소유자로 만들고 싶습니다.

Drupal 7?

2
Ek Kosmos

hook_user_insert () 를 구현해야하는 것이 맞습니다. 구현해야하는 코드는 Drupal 6에서 구현할 코드와 다릅니다. 노드 본문이 필드이므로 Drupal 7 참조) 필드 API ).

hook_user_insert() 구현은 다음과 유사해야합니다.

function mymodule_user_insert(&$edit, $account, $category) {
  $body_text = 'This is the text contained in the node body.'; // [1]
  $node = new stdClass();
  $node->type = 'article';  // [1]
  node_object_prepare($node);

  $node->language = LANGUAGE_NONE;

  $node->body[$node->language][0]['value']   = $body_text;
  $node->body[$node->language][0]['summary'] = text_summary($body_text);
  $node->body[$node->language][0]['format']  = 'filtered_html';

  $node->title    = 'Node Created Programmatically on ' . date('c'); // [1]
  $node->uid      = $account->uid;

  $path = 'content/programmatically_created_node_' . date('YmdHis'); // [1]
  $node->path = array('alias' => $path);

  node_save($node);
}

[1]로 표시된 줄은 개인화해야하는 부분입니다.

5
kiamlaluno

이 작업은 Drupal 6. 필요한 값으로 개체를 만들고 node_save를 사용합니다.이 모든 작업은 hook_user op insert :

module_user_insert(&$edit, $account, $category) {
  $node = new stdClass();
  $node->title = 'title'
  $node->uid = $account->uid;
  node_save($node);
}
2
googletorp

hook_user_insert 의 구현 내에 새 노드를 만들어야합니다.

1
tim.plunkett