-
Notifications
You must be signed in to change notification settings - Fork 11
Setup: Properties display
Properties display can be set by Properties configuration in config/app_local.php (or in config/projects/<projectName>.php if you use multi project configuration).
You can also override it directly in your BEdita Manager, at Admin -> Appearence page, in json format.
Each key represents a module. I.e.:
'Properties' => [
'documents' => [
// ...
],
'events' => [
// ...
],
'images' => [
// ...
],
],Each module can have setup for index, view, relations, filter, bulk, fastCreate.
'index' properties to display in index view (other than id, status and modified, always displayed if set). I.e.:
'Properties' => [
'documents' => [
'index' => [
'title',
'description',
],
],
],You can also include relations in index view columns, by specifying an object instead of a string in the configuration. An example follows:
'Properties' => [
'documents' => [
'index' => [
'title',
'description',
'has_author' => [
'name',
'surname',
'email',
],
'has_picture' => [
'media_url',
'title',
],
],
],
],You can customize properties in form using options group.
You can specify, by property name, the label you want to see, the type and readonly value (true or false).
I.e.:
'Properties' => [
'documents' => [
'options' => [
'description' => [
'label' => 'D E S C R I P T I O N',
'type' => 'plaintext', // can be plaintext, richtext, email, uri, json, date-time, date, checkbox, enum
'readonly' => true,
],
'body' => [
'type' => 'plaintext',
],
],
],
],'_keep' is a special group of properties to keep and display even if not found in object. I.e.:
'Properties' => [
'users' => [
'view' => [
'_keep' => [
'password',
'confirm-password',
],
],
],
],'_hide' is a special group of properties to hide fields from display groups. I.e.:
'Properties' => [
'users' => [
'view' => [
'_hide' => [
'fieldname',
],
],
],
],Fields specified in _hide won't be displayed in module view.
You can set a custom title element to render the title section. I.e.:
'Properties' => [
'documents' => [
'view' => [
'title' => [
'_element' => 'MyPlugin.Form/custom_title',
],
],
],
],Put in 'core' the properties you want to always be open on the top of the view of your module. You can also set an element to be included in "core" section. I.e.:
'Properties' => [
'documents' => [
'view' => [
'core' => [
'_element' => 'MyPlugin.Form/documents_view_core',
'title',
'description',
],
],
],
],'publish' is used to group fields publishing related. Fields will be in publish-properties area in the view. I.e.:
'Properties' => [
'documents' => [
'view' => [
'publish' => [
'uname',
'status',
'publish_start',
'publish_end',
],
],
],
],'advanced' fields can be set in this confit. You can also include a custom element from another plugin, i.e:
'Properties' => [
'documents' => [
'view' => [
'advanced' => [
// Use custom element in `MyPlugin` to display this group
'_element' => 'MyPlugin/advanced',
'extra_field',
],
],
],
],'other' section contains all "remaining attributes" not in other sections, or the fields you set. I.e.:
'Properties' => [
'documents' => [
'view' => [
'other' => [
'body',
],
],
],
],If you want to customize the history section, you can set a custom element to be used in the history tab of the view. You can set it in the 'view' section of your module properties, like this:
'Properties' => [
'documents' => [
'view' => [
'history' => [
'_element' => 'MyPlugin.Form/history',
],
],
],
],Custom name can be added as key, like 'my_group' or 'some_info' => a tab named My Group or Some Info will be generated inside any of the groups above an optional '_element' can define a custom view element for this group. I.e.:
'Properties' => [
'users' => [
'view' => [
'personal data' => [
'person_title',
'gender',
'birthdate',
'vat_number',
],
'contact info' => [
'phone2',
'email2',
'website',
'street_address',
'city',
'zipcode',
'country',
'state_name',
'delivery_address',
],
],
],
],Relations ordering by relation name. Optional keys: 'main', 'aside', '_element', '_hide', '_readonly'.
Set in 'main' first relations to show on main column, other relations will be appended. Set in 'aside' relations to show on right aside column. Set in '_element' custom template path per relation. Set in '_hide' relations to hide'. Set in '_readonly' relations to show in readonly mode'.
An example:
'Properties' => [
'events' => [
'relations' => [
'main' => [
'poster',
'has_location',
],
'aside' => [
'seealso',
],
'_element' => [
'poster' => 'MyPlugin.Form/posters',
'has_location' => 'MyPlugin.Form/locations',
],
'_hide' => [
'has_links',
],
'_readonly' => [
'part_of',
],
],
],
],Set 'filter' for filters to display. I.e.:
'Properties' => [
'users' => [
'filter' => [
'status',
'roles',
],
],
],Bulk actions fields. I.e.:
'Properties' => [
'documents' => [
'bulk' => [
'status',
'Change language' => 'lang',
],
],
],Fast create form config is used in side panel, when adding objects to a relation. You can customize fields by module: 'required' to set fields that cannot be left empty, 'all' for all fields to show in form. I.e.:
'Properties'
'links' => [
'fastCreate' => [
'required' => ['status', 'url'],
'all' => ['status', 'url', 'title', 'description'],
],
],
],