Version 3 (modified by olha, 9 years ago) (diff)




collective.referencedatagridfield is a mix of Reference and DataGrid fields for Plone.

This is a sophisticated reference field with its own widget for browsing, adding and deleting references for both internal and externsl resources. Completely supporting Archetype's Reference field functionality, it also allows external links.

This package functionality is based on DataGridField, DataGridWidget and Archetype's Reference field with ATReferenceBrowserWidget.

On installation required Products.DataGridField package is automatically installed.


This package allows Plone developers to:

  • extend default Plone Reference field functionality
  • override existing Reference field functionality with a custom one

There is an example of simple content type creation with a mix of Reference and DataGrid fields as related items:

from AccessControl import ClassSecurityInfo

from Products.Archetypes.public import *
from Products.ATContentTypes.content.base import ATCTContent

from collective.referencedatagridfield import PKG_NAME
from collective.referencedatagridfield import ReferenceDataGridField
from collective.referencedatagridfield import ReferenceDataGridWidget

class ReferenceDataGridDemoType(ATCTContent):
    """ Simple ReferenceDataGridField demo."""
    security = ClassSecurityInfo()
    schema = BaseSchema + Schema((

            widget = ReferenceDataGridWidget(
                label = "Reference DataGrid Field(s)",
                visible = {'edit' : 'visible', 'view' : 'visible'}

    meta_type = portal_type = archetype_name = 'ReferenceDataGridDemoType'

registerType(ReferenceDataGridDemoType, PKG_NAME)

Attachments (6)

Download all attachments as: .zip