A Charcoal service provider content builder.
The preferred (and only supported) method is with Composer:
$ composer require locomotivemtl/charcoal-contrib-content-builder- Charcoal-core ~0.3
- Charcoal-cms ~0.5
- Charcoal-attachment ~0.9
- PHP 5.6+: PHP 7 is recommended.
Use the ContentBuilderInterface on a model or an instance of TemplateableInterface.
Configure Attachment groups use the usual method. ex :
{
"attachables": {
"exemple/attachments/object/text": {
"label": {
"en": "Text",
"fr": "Texte"
}
}
},
"groups": {
"content": [
"exemple/attachments/object/text"
]
},
"widgets": {
"content": {
"title": {
"en": "Content",
"fr": "Contenu"
},
"show_title": true,
"show_header": true,
"icon": "edit",
"template": "charcoal/admin/widget/form-group/attachment",
"group": "content",
"attachment_heading": "{{ ident }}",
"show_attachment_heading": false,
"show_attachment_preview": true,
"attachment_options": {
"show_preview": true,
"show_heading": false
},
"priority": 100,
"attachable_objects": "content"
}
}
}Attach any interfaces that are based on this structural model :
{
"attachments": {
"widgets": {
"content": {
"type": "charcoal/admin/widget/form-group/attachment",
"preset": "content"
}
}
}
}This will dynamically add an attachment group to the model.
You can provide the interface to the template controller if the model implements TemplateableInterface.
This will dynamically add attachments groups on the model depending of the template context.
This can be very useful for section object, for example, to allow different attachments groups easily based on the template.
To install the development environment:
$ composer installTo run the scripts (phplint, phpcs, and phpunit):
$ composer test- The auto-generated
phpDocumentorAPI documentation is available at:
https://locomotivemtl.github.io/charcoal-contrib-content-builder/docs/master/ - The auto-generated
apigenAPI documentation is available at:
https://codedoc.pub/locomotivemtl/charcoal-contrib-content-builder/master/
- [php-coveralls/php-coveralls][phpcov]
- [phpunit/phpunit][phpunit]
- [squizlabs/php_codesniffer][phpcs]
The charcoal-contrib-content-builder module follows the Charcoal coding-style:
- PSR-1
- PSR-2
- PSR-4, autoloading is therefore provided by Composer.
- phpDocumentor comments.
- phpcs.xml.dist and .editorconfig for coding standards.
Coding style validation / enforcement can be performed with
composer phpcs. An auto-fixer is also available withcomposer phpcbf.
Charcoal is licensed under the MIT license. See LICENSE for details.