ニュース アイテム タイプをカスタマイズし、埋め込み画像を 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 で発生します。