2011-11-03 5 views
0

PHP가 포함 된 작은 도구를 작성하여 현재 CMS의 내용을 Drupal 7로 가져 오려고합니다. 가져올 기사가 약 10k 개 + 있기 때문에 지금까지 제목, 요약, 본문, 저자 및 게시 날짜가 올 수 있지만 범주 (태그)에 관해서는 완전히 당혹 스럽습니다.Drupal 7 API + 분류학

각 현재 카테고리/태그는 각각 고유 ID, 이름 및 설명이있는 데이터베이스 테이블에 저장됩니다. 내가 기사 (문자열, 배열, 등) 싶습니다하지만 그것을 정렬 당 이걸 뽑아 낼 수 있습니다. 나는 또한 시도했다

$node->field_tags = array(
    'und' => array(
     array(
      'Update', 
      'News', 
      'Report' 
     ) 
    ) 
); 

: 내 수입시

, 나는 이런 식으로 뭔가해야 할 것 같은데요

$node->field_tags = array(
    'Update', 
    'News', 
    'Report' 
); 

그러나 이러한이나 단어의 쉼표로 구분 된 문자열에 공급 작동하지 않습니다. 드루팔 (Drupal 7) API 문서는 내가 찾은 곳 어디에서도 설명하지 못한다.

태그를 전송하기위한 형식이나 찾을 수없는 설명서 페이지는 무엇입니까? 미리 감사드립니다.

답변

1

Drupal 7의 용어 필드는 물리적 택 소미 용어와 관련이 있으므로 각 카테고리에 대한 용어를 만든 다음 해당 참조를 필드의 값으로 추가해야합니다.

이 코드는 도움이 될 수 있습니다 :

// Load the tags vocabulary 
$vocab = taxonomy_vocabulary_machine_name_load('tags'); 

$term = new stdClass; 
$term->vid = $vocab->vid; // Attach the vocab id to the new term 
$term->name = 'Category Name'; // Give the term a name 
taxonomy_term_save($term); // Save it 

// Add the tags field 
$node->field_tags = array(
    LANGUAGE_NONE => array(
    'tid' => $term->tid // Relate the field to the new category term using it's tid (term id) 
) 
); 
+0

이 당신의 응답을 주셔서 감사합니다! 여러 개의 태그를 추가하려면 어떻게해야합니까? 물론 그들은 모두 'tid'지수를 가질 수는 없습니다. – devincrisis

+0

그래, 당신이 추가하는 모든 태그는 택 소노 미어이며, 모든 분류법 용어는 그 자체로 존재해야한다. 그렇지 않으면 드루팔 (Drupal)은 그것에 관련이 없다. – Clive