= collective.referencedatagridfield = == Links == * SVN Repository - http://svn.plone.org/svn/collective/collective.referencedatagridfield * Releases - http://plone.org/products/collective.referencedatagridfield/releases == Introduction == collective.referencedatagridfield is a mix of Reference and !DataGrid fields for Plone. This is a sophisticated reference field with its own widget for adding and deleting references for both internal and external resources. Having complete support for Archetype's Reference field functionality, it also allows external links management. This package functionality is based on !DataGridField, !DataGridWidget and Archetype's Reference field with ATReferenceBrowserWidget. It allows Plone developers to extend default Plone Reference field functionality or override existing Reference field functionality with a custom one. Required Products.!DataGridField package is automatically installed during installation procedure. == Development == This product was developed by Quintagroup for Plone collective sponsored by [http://headnet.dk Headnet] company. == Supported Plone Versions == This product was tested with Plone 4.0. == Usage == There is an example of simple content type creation with a mix of Reference and !DataGrid fields as related items included into the package: http://svn.plone.org/svn/collective/collective.referencedatagridfield/collective/referencedatagridfield/examples/ReferenceDataGridDemoType.py {{{ 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(( ReferenceDataGridField('demo_rdgf', schemata='default', relationship="demo_relation", 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''' [[Image(add.jpeg, nolink)]] This is a simple content type with title field and possibility to add related items - both from the current site and external ones: [[Image(edit.jpeg, nolink)]] === Internal Links === To insert internal link use '''Add...''' button and browse your site for the necessary object you want to add: [[Image(internal.jpeg, nolink)]] Type in desirable title into the '''Title''' field. If you leave it empty - it will automatically be filled with the inserted object title. === External Links === To insert external links simply type in external URL into the '''Links''' field. Please type in full address with http:// protocol. In case your URL is not correct it will not be saved. [[Image(edit1.jpeg, nolink)]] Type in desirable title into the '''Title''' field. If you leave it empty - it will get title the same as URL. [[Image(edit2.jpeg, nolink)]] As a result your content type will have such related items: [[Image(example.jpeg, nolink)]]