2013-08-03 21 views
2

我已經在論壇上看到了很多問題,但仍然沒有很好的答案。Plone Archetypes - 如何在base_edit視圖中顯示只讀字段

我有一個領域。這是一個網址。它的「只讀」

保持它很簡單:

atapi.StringField('Url', 
        mode="r") 

用戶並不意味着提供一個網址,但是當他們點擊「保存」編輯表單上,將URL生成。

具體來說,一個事件會觸發,一個附加文件將被髮送到其他地方,結果是一個網址,您可以獲取該文件 - 認爲「上傳到Youtube」或其他東西。

現在,當對象處於編輯模式時,我想要顯示url - 但當然不會讓它們編輯它 - 甚至給它們印象,他們可以編輯它。這是一個「計算場」,但實際上,它只是一個字符串。不需要真正計算任何東西,所以我避免使用「表達式」。

如何在原型中定義此字段?


在我能夠完成並提交問題之前就想出了它,所以我在下面發佈了我的解決方案。仍然感興趣的其他答案,壽。

回答

4

HEH。當我輸入問題時發現它。

我正在使用帶有ComputedWidget的StringField。

編輯窗體顯示該字段,但將其呈現爲純文本。

atapi.StringField('Url', 
        mode="rw", 
        widget=atapi.ComputedWidget(label="Url", 
              description="Url set after upload", 
              visible = { 'edit' :'visible', 
                 'view' : 'visible' }, 
              ), 
       ), 

希望這可以幫助別人。

+0

所以,子問題,'模式'在atapi.field上做了什麼? – FlipMcF

相關問題