Version 7 (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.

This package allows Plone developers to:

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

On installation required Products.DataGridField package is automatically installed.


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)

The above example adds a new simple content type to Plone - ReferenceDataGridDemoType?

This is a simple content type with title field and possibility to add related items - both from the current site and external ones:

To insert internal link use Add... button and browse your site for the necessary object you want to add:

To insert external links simply type in external URL into the Links field:

Attachments (6)

Download all attachments as: .zip