我们自定义了 News Item-type 并将嵌入的图像替换为 ExtendedReferenceField(我们使用中央图像存储库)。
有没有办法在该字段上激活链接完整性检查,以便在尝试删除图像时触发警告?
(是的,在@@editing-controlpanel 中启用了链接完整性检查,当我在内容正文中插入链接和图像时工作得很好)。
使用的 schemaextender 字段的精简代码:
from zope.interface import implements
from archetypes.schemaextender.interfaces import ISchemaExtender
from archetypes.schemaextender.interfaces import IBrowserLayerAwareExtender
from archetypes.schemaextender.field import ExtensionField
from Products.Archetypes import atapi
from archetypes.referencebrowserwidget.widget import ReferenceBrowserWidget
class ExtendedReferenceField(ExtensionField, atapi.ReferenceField):
""" Extention reference field. """
class ImageReferenceExtender(object):
implements(ISchemaExtender, IBrowserLayerAwareExtender)
layer = IPackageSpecific
fields = [
ExtendedReferenceField(
name= 'imageref',
required = False,
multiValued=False,
allowed_types=('Image', ),
relationship='image',
keepReferencesOnCopy=True,
widget = ReferenceBrowserWidget(
...
)),
]
def __init__(self, context):
self.context = context
def getFields(self):
return self.fields
这发生在 Plone 版本 3.3.6 和 4.1.6 中。