collective.fieldedit
collective.fieldedit
A view to edit selected fields of a content type.
Features
Useable by simply calling a view with a the fields you want to edit as query-string-parameters
Select the field or fields you want to edit
For each field you can choose between input, display and hidden
Uses the same widgets and validators as the default edit-form
Respects schema-hints like field-permissions, invariants and widgets
Nice to use in modals/popups fo allow editing one ore more fields (but not all)
Use it by adding a link to the view @@field_edit_form and pass the fiels you want to edit as a query-string with up to three parameters separated by a “:” for each field.
Examples
Edit the text of a document:
http://localhost:8080/Plone/front-page/@@field_edit_form?fields=IRichTextBehavior.text
Edit the fields title and subjects:
http://localhost:8080/Plone/front-page/@@field_edit_form?fields=IDublinCore.subjects&fields=IDublinCore.title
Display the text and edit the publishing date:
http://localhost:8080/Plone/front-page/@@field_edit_form?fields=IRichTextBehavior.text:display:0&fields=IRelatedItems.relatedItems
Render a link to edit the title in a modal:
<a href="${python:context.absolute_url()}/field_edit_form?fields=IDublinCore.title"
class="pat-plone-modal"
data-pat-plone-modal='{"actionOptions": {"reloadWindowOnClose": false, "redirectOnResponse": true, "disableAjaxFormSubmit": true},
"buttons": ".formControls > button"'>
Edit the Title in a modal
</a>
Edit multiple fields:
<a href="${python:context.absolute_url()}/@@field_edit_form?fields=field1&fields=field2&fields=field3"
Edit some fields.
</a>
Display one field, edit another”
<a href="${python:context.absolute_url()}/@@field_edit_form?fields=field1:display&fields=field2"
Edit one field, display another.
</a>
Hide the label:
<a href="${python:context.absolute_url()}/@@field_edit_form?fields=field1::0"
Edit one field, display another.
</a>
Add a hidden field:
<a href="${python:context.absolute_url()}/@@field_edit_form?fields=field1:hidden&fields=field2"
Edit one field, display another.
</a>
Behavior-fields need to be prefixed with the Behavior:
<a href="${python:context.absolute_url()}/@@field_edit_form?fields=IBasic.title"
Edit one field, display another.
</a>
Supported Versions
collective.fieldedit is tested in Plone 5.1, 5.2 and 6.
Installation
Install collective.fieldedit by adding it to your buildout:
[buildout] ... eggs = collective.fieldedit
and then running bin/buildout
Then got to the add-on controlpanel (/prefs_install_products_form) to enable it.
Contribute
Issue Tracker: https://github.com/collective/collective.fieldedit/issues
Source Code: https://github.com/collective/collective.fieldedit
License
The project is licensed under the GPLv2.
Changelog
1.0 (2022-06-25)
Additional Markup for Plone 6.0 (Bootstrap 5) [jensens]
Formatted with Black/isort according to Plone standards. [jensens]
Add support for Python 3, Plone 5.2 and 6. [pbauer]
1.0a2 (2018-08-04)
Fix redirect and remaining webdav locks on cancel (#1) [pbauer]
1.0a1 (2017-10-10)
Initial release. [pbauer]