2013-08-01 43 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

您可以使用taxonomy_get_term_by_name函數來代替自己找到術語ID。

該函數返回匹配的術語對象列表。

+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返回一個匹配的術語OBJECTS數組,而不僅僅是一個單一的tid。閱讀這裏的文檔:https://api.drupal.org/api/drupal/modules%21taxonomy%21taxonomy.module/function/taxonomy_get_term_by_name/7 –

相關問題