1
我可以爲Plone 4.1中的文件夾內容添加自定義限制嗎?例如。限制文件夾只包含擴展名爲* .doc,* .pdf 的文件我知道一般的限制,如Plone提供的文件/文件夾/頁面/圖像在Plone中添加自定義文件夾限制
我可以爲Plone 4.1中的文件夾內容添加自定義限制嗎?例如。限制文件夾只包含擴展名爲* .doc,* .pdf 的文件我知道一般的限制,如Plone提供的文件/文件夾/頁面/圖像在Plone中添加自定義文件夾限制
不是沒有額外的開發;您必須使用驗證器來擴展文件類型以限制允許的MIME類型。
沒有進入的全部細節(自己試着和這裏提出更多的問題上,所以如果你被卡住),這裏是如果我面臨着這個問題,我想實現各運動部件:
創建一個新的IValidator
類檢查允許的內容類型:
註冊與註冊validotor的一個實例:
from Products.validation.config import validation
validation.register(LocalContentTypesValidator('checkLocalContentTypes'))
創建ATContentTypes ATFile類的新的子類,與基類模式的副本,添加驗證到它的驗證鏈:
from Products.ATContentTypes.content.file import ATFile, ATFileSchema
Schema = ATFileSchema.schema.copy()
Schema['file'].validators = schema['file'].validators + (
'checkLocalContentTypes',)
class ContentTypeRestrictedFile(ATFile):
schema = Schema
# Everything else you need for a custom Archetype
或只是改變ATFile模式本身,如果你想要這個適用於部署中的所有文件對象:
from Products.ATContentTypes.content.file import ATFileSchema
ATFileSchema['file'].validators = ATFileSchema['file'].validators + (
'checkLocalContentTypes',)
添加一個字段,文件夾或自定義子類的本地存儲允許的內容類型的列表。我可能會使用archetypes.schemaextender
。這幾天有很多文檔,例如WebLion has a nice tutorial
。
你必須就如何讓人們在這裏限制MIME類型做出政策決定;通配符,自由形式文本,詞彙表等。