2012-05-10 34 views
0

Drupal 7: 我需要一個模塊將聯繫人表單附加到特定內容類型的節點。該表格應該是可配置的,並且允許發送附有節點作者的電子郵件。該表格還應該有一個驗證碼。該電子郵件不得保存在數據庫中。Drupal 7中的節點作者電子郵件

這樣的模塊是否存在或者我是否需要開發它?

回答

1

您應該可以通過組合Webform模塊,CAPTCHA模塊和自定義模塊來實現此目的。

Webform定義了它自己的'webform'內容類型,但它也允許您通過訪問'admin/config/content/webform'並選擇適當的內容類型來啓用其他內容類型webform。

令牌模塊提供節點標記,如nid和標題,可以作爲隱藏的表單元素包含在內,但令人討厭的是,不包括作者作爲標記。

在您的web窗體的電子郵件標籤上,可以選擇一個表單組件作爲發送表單結果的電子郵件地址。我會創建一個隱藏字段,將默認值留空,然後使用hook_form_alter將節點作者值添加到自定義模塊中應該相當容易(表單id可以通過查看源代碼找到並查找隱藏的輸入form_id 「)。然後,您可以在電子郵件標籤中使用此表單組件將結果發送至。

我可以看到導致問題的唯一的事情是,沒有簡單的方法來阻止webform記錄數據庫中的表單結果 - 我想這可以在自定義模塊中實現,而沒有太多麻煩。

+0

其他一些問題: 1.可以通過webform發送上傳的文件作爲附件嗎? (而不是鏈接到網站的文件夾) 2.將作者的電子郵件地址嵌入隱藏的輸入字段不是一個好主意。使用相同的表單alter函數,您可以將複製/單個消息發送給節點作者。將節點ID放在隱藏字段中,並使用node_load()和user_load()來獲取作者的電子郵件地址。你也可以使用一些wild sql來獲取用戶的電子郵件地址。 –

+0

電子郵件地址的好處。不要認爲webform實際上可以將文檔作爲附件發送,但我猜測通過添加MIME郵件模塊和更多的自定義編碼來做到這一點不會太困難。 – jonshot

1

喲,有這樣一個模塊。它被稱爲Webform。使用Webform,您可以在特定節點類型下添加具有預定義字段的塊表單,並讓電子郵件直接發送給節點作者。

  1. 下載並啓用網絡表單4.x的
  2. 從創建新的,添加所需字段
  3. 電子郵件選項卡地址使用令牌[current-page:node:author:mail]
  4. 表單設置標籤檢查以塊形式提供
  5. 配置新啓用的塊(僅在某些情況下顯示否德式+集受限頁面的node/*/*
  6. 做測試

你可以找到printcreens和更詳細的說明here

相關問題