2010-08-20 55 views
0

我有一些問題,設置一個標記化的電子郵件來使用我在模塊中創建的標記。我在標記化的電子郵件中使用這個[example-contact]。我在模塊中實現了example_token_values()example_token_list(),並且我在模塊中也創建了一個觸發器。我的模塊有一個窗體,用表單API創建,存儲在一個自定義表中。當我查看所有可用的令牌時,我的令牌被列出,所以我知道example_token_list()正在工作,但當調用example_token_values()時,$ type不等於'example'。「Tokenized電子郵件行動」沒有拿起我的標記

我需要從提交的表單中提取信息,並將它們顯示在發出的標記化電子郵件中。我是否缺少功能?我創建的觸發器正在工作並在表單提交時觸發,並且Action發出電子郵件,問題在於令牌沒有被表單的值取代。

是否有我需要實現的功能,將調用example_token_values("example",$form)

回答

1

hook_token_values()的實現可以使用任何值爲$object;如果模塊需要使用傳遞給它的一個函數的值$form,它可以使用它。

+0

如何在hook_token_values()中檢索表單中的值?另外根據文檔,我應該只在$ type =='example'時創建令牌。 $ type永遠不會等於我的模塊名稱。 我想大問題是,Drupal如何知道爲我的模塊調用token_value? – 2010-08-22 20:29:19

+0

我在哪個函數中調用token_replace()或token_replace_multiple()?我需要表單的值才能進入發送Tokenized電子郵件操作。另外,我正在運行Token v。6.x-1.14 – 2010-08-24 14:11:16

+0

@MisterBigs:您可以在需要替換令牌時調用這些函數;問題是調用'token_replace()'的函數也應該可以訪問表單值。如果函數是你需要替換的標記不是訪問變量'$ form'的函數,那麼你需要找到一種方法將'$ form'的值傳遞給調用'token_replace() '(或'token_replace_multiple()')。 – kiamlaluno 2010-08-24 15:15:14

相關問題