如何通過SQL將分類術語直接添加到節點?通過SQL直接向節點添加分類術語(term_node)
我使用:
db_query("INSERT INTO {term_node} (nid, vid, tid) VALUES (" . $row['nid'] . "," . $the_term->vid . "," . $row['next_tid'] . ")");
值$row['nid']
,$the_term->vid
和$row['next_tid']
正確;但節點中仍然沒有出現任何術語。
嗨,感謝您的提示,但我使用了hook_cron,並在那裏添加了條款。我看着這個功能。之前,但問題在於代碼 - >對於多元詞彙來說它會非常大,另一個問題是必須再次添加到節點的舊術語。 SQL非常簡單和短小,有隻有3個值的表。也許我錯了。你有一些建議嗎?我的努力重新爲D6的「分類定時器」。我將我的版本添加到此模塊的[issue queue](http://drupal.org/node/377450),但是與cron_hook resp有一些問題。添加條款。 – marinex
我不知道我們是否誤解了對方。我的意思是,而不是「db_query(...)」的代碼行,您應該有一行代碼調用該函數:「taxonomy_node_save($ node,$ terms)」。我不是說你應該複製和粘貼函數的代碼到你的cron_hook中,而只是你應該調用它。那有意義嗎?當一個API函數可以做你想做的事時,最好使用它來代替自己重新創建它的功能。這樣你就會知道你正在把所有的事情都做好! –
啊,也只是想確保你看到了我上面給出的URL的代碼摘錄:http://api.drupal.org/api/drupal/modules%21taxonomy%21taxonomy.module/function/taxonomy_node_save/6#comment -5749。這是一個可以幫助你的函數,它已經作爲你在SQL語句中已經使用過的node,tid和vid的參數。 :-)只是想確保你看到了! –