使用 ReferenceField 的話,要搭配 ReferenceBrowserWidget,它要從 archetypes.referencebrowserwidget 載入,利用 allowed_types=('Document',) 之類的設定值,可以限定項目種類,利用 allow_search=True 可以決定是否提供搜尋欄位。
想要修改 schemata 的話,是使用類似 schema.changeSchemataForField('related_category', 'reference') 這樣的語法。預設的 Dublin Core metadata 相關欄位,設定在 Products/Archetypes/ExtensibleMetadata.py 檔案裡,例如 rights 欄位的資訊:
TextField(透過 default_method 可以指定預設的內容,例子裡的 defaultRights 就是呼叫 portal_metadata 的 listSchemas() 來比對是否存在預設值,而且在 Products/ATContentTypes/content/schemata.py 檔案裡,利用 finalizeATCTSchema() 來指派各欄位的 schemata 位置。
'rights',
accessor="Rights",
default_method='defaultRights',
widget=TextAreaWidget(
label=_(u'label_copyrights', default=u'Rights'),
description=_(u'help_copyrights',
default=u'Copyright statement.'),
)),
另外,使用 Plone 4 的朋友,記得參考新的網頁管理方式。
No comments:
Post a Comment