2012-08-22 75 views
0

我需要在提交表單後在自定義內容類型的int字段上編寫Drupal用戶標識。我相信我必須使用hook_node_presave來做到這一點。但我是新的Drupal,並在PHP非常新,所以,我有一些基本的問題...Drupal 7 - 在內容類型字段中保存用戶標識

  1. 其中,在我的Drupal安裝,我必須插入鉤子代碼?在什麼文件中?一個新的?什麼目錄?我想要這個代碼完全與主題無關,升級不可知和新手不可知...
  2. 任何人都可以花一點寶貴的時間爲此任務編寫代碼示例嗎?
  3. 如前所述,我很新手。所以,詳細的解釋是非常受歡迎的!謝謝!

回答

0

你想要的是寫一個Drupal module

基本上,你需要添加一個文件夾和一些必需的文件在那裏。然後你進入管理並打開模塊。一旦Drupal開啓,Drupal將自動開始處理您在該模塊中指定的鉤子。更多信息here

大多數代碼更改是在Drupal世界中以這種方式完成的。另一個地方是重寫主題設置,但正如你所說,你希望使它不受主題的影響。

+0

你的意思是我應該創建一個完整的模塊來執行一個字段的值賦值?這不是懶惰,它似乎使用火箭筒殺死蚊子。 Drupal沒有flyswatter來做到這一點? – Rogerio

+0

我相信 - 我對Drupal有同樣的想法,現在不想開發它:)我可能錯了,因爲在放棄Drupal之前,我沒有足夠深入Drupal。 另一方面,Drupal強制所有更改都是模塊化的並且可以恢復。我相信它有一些優點。它可以在模塊覆蓋的系統上工作,並且可以阻止你對黑客代碼進行黑客攻擊(儘管你當然可以完成它)。 – badunk

+0

有道理。感謝您的關注,badunk! – Rogerio

0

所有節點都會自動與創建該節點的用戶的用戶標識一起保存,因此如果您的意圖是要知道是誰創建節點,只需查看$ node-> uid即可。無需在您的內容類型中保存額外的字段。希望有所幫助。