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


This product was developed by Quintagroup for Plone collective sponsored by Headnet company.

Supported Plone Versions

This product was tested with Plone 4.0.


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

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:

Type in desirable title into the Title field. If you leave it empty - it will automatically be filled with the inserted object title.

To insert external links simply type in external URL into the Links field. In case your URL is not correct it will not be saved.

Type in desirable title into the Title field. If you leave it empty - it will get title the same as URL.

As a result your content type will have such related items:

Attachments (6)

Download all attachments as: .zip