2013-08-01 1 views
1

CSV 파일에서 읽음으로써 프로그래밍 방식으로 Drupal 7 사이트의 컨텐츠를 채우려고합니다. 모든 코드가 있지만 다음 단계는 각 노드에 3 개의 다른 열에서 발견되는 일련의 용어를 자동으로 태그 지정하는 것입니다.Drupal 7 - 노드에 프로그램 태그 달기

이제 id라는 용어를 사용하여 노드에 태그를 지정할 수 있지만 용어 이름을 사용하여 태그를 지정할 수있는 방법이 있습니까?

나는 $ tags가 태그 용어 인 문자열의 배열 인 것을보고있다.

$a = 0; 
foreach ($tags as $tag) { 
    $node->field_tags[$node->language][]['a'] = $tag; 
    $a++; 
} 

내가 얻을 수있는 도움에 감사드립니다. 감사!

답변

5

용어 ID를 직접 찾는 대신 taxonomy_get_term_by_name 기능을 사용할 수 있습니다.

이 함수는 일치하는 용어 객체의 목록을 반환합니다.

+0

새 노드의 태그를 설정하는 데 해당 용어 개체를 어떻게 사용합니까? 또한, 아직 존재하지 않는 용어에 대한 분류 객체를 생성 할 것인가? – chicagochillin

+0

이 코드는 작동하지 않는 것 같습니다. 오류가 발생합니다 : foreach ($ tags as $ tag) { \t $ tid = taxonomy_get_term_by_name ($ tag); \t $ node-> field_tags [$ node-> language] [] [ 'tid'] = $ tid; }' – chicagochillin

+1

taxonomy_get_term_by_name은 단일 tid가 아닌 일치하는 용어 OBJECTS의 배열을 반환합니다. 다음 문서를 읽으십시오. https://api.drupal.org/api/drupal/modules%21taxonomy%21taxonomy.module/function/taxonomy_get_term_by_name/7 –