2011-09-28 26 views
1

我有一個自定義腳本適配器一個PloneFormGen形式,表單提交,生成一個新的uid和與uid作爲其ID創建一個文件夾。Plone的:通過從PloneFormGen自定義腳本適配器一個變量來梅勒適配器

from DateTime import DateTime 
uid = str(DateTime().millis()) 
target.invokeFactory("Folder", id=uid, title=form['your-name']) 

它使用從輸入的形式創建該文件夾中的各種物品,包括一個名爲「NEWPAGE」的文件,然後我想包括在電子郵件中的鏈接。有沒有辦法將腳本適配器的uid變量傳遞給郵件適配器,以便我可以生成指向文件夾內新文檔的鏈接?

例如,腳本適配器將創建一個ID爲1317142676351的文件夾,因此提交表單時,其中一個新頁面的URL爲http://mysite.com/submissions/1317142676351/newpage/。我希望能夠將該鏈接包含在我的一個Mailer Adapter模板中,但我不知道如何獲取自定義腳本適配器中生成的uid,或者甚至可能。首先會發生什麼,郵件程序或自定義腳本適配器?

在正確的方向推任何非常感謝!

+0

這是哪裏的情況下 - 因爲要添加的內容 - 這些內容規則(觸發上添加,執行郵件操作)會照顧你的郵件使用情況的,而不是依賴於一個腳本運行PloneFormGen上下文? – sdupton

回答

2

只是id值複製到請求。在腳本中,這樣的代碼:

request.set('custom_id', id) 

將做到這一點。如果您需要自動處理該變量,請在表單中創建一個匹配的隱藏變量。

+0

感謝您的提示!我在默認值「python:str(DateTime()。millis())」中創建了一個隱藏的字符串變量,它的工作方式就像一個魅力! – Heather

+0

您可以在表單中創建隱藏字段,但您需要在腳本中設置id值。否則,您將爲黑客創造一個覆蓋價值的機會。 – SteveM