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类型做出政策决定;通配符,自由形式文本,词汇表等。