2013-04-29 63 views
0

我正在構建drupal模塊,我想使保存某些內容類型後觸發的功能。示例 保存文章後,我想將文章的數據保存爲另一個表格的nid,標題,類型,狀態。 我被困在這裏,請幫助我。這一些代碼,我做了:保存節點後將節點數據保存到另一個表

//using hook_node_insert 
//i just wanna save data from content type 'article' only. 

function mymodule_node_insert($node) { 
db_insert('mytable')->fields(array(
'nid' => $node->nid, 
'title' => $node->title, 
'type' => $node->type, 
'status' => $node->status 
))->execute(); 
} 
+0

你能告訴我這段代碼有什麼問題嗎?是的,規則是一種更好的方法,但是如果它是一個模塊,那麼在節點插入中寫入鉤子並將數據插入到另一個表中時,我沒有發現任何問題。但是,是的,如果你正在使用drupal sql查詢...那麼我會建議你編寫安裝文件並生成表格。 – 2013-04-30 11:22:33

回答

0

Rules模塊將幫助你處理這個問題,

**

規則模塊,管理員可以有條件地基於 執行的操作定義發生事件(稱爲反應或ECA 規則)。它是核心觸發器模塊 的更多功能的替代品。

**

您可以使用事件的內容部分「保存新的內容後」。

在此,您可以使用規則中的條件來確保僅針對所需的內容類型觸發操作。