Widget manager using twig templates
The preferred way to install this extension is through composer.
Either run
composer require dmstr/yii2-widgets2-module
to the require section of your composer.json
file.
cd tests
docker-compose up -d
docker-compose run phpfpm bash
setup.sh
...
'modules => [
'widgets' => [
'class' => '\hrzg\widget\Module',
'layout' => '@backend/views/layouts/main',
'playgroundLayout' => '@frontend/views/layouts/main',
'dateBasedAccessControl' => true,
'datepickerMinutes' => false,
'timezone' => 'Europe/Berlin',
// set ajax option for JsonEditor
'allowAjaxInSchema' => false,
// If true, the json content properties will be validated against the json schema from the widget_template.
// To be BC the default is false, but you should enable it
'validateContentSchema' => false
]
]
...
availablePhpClasses
availableFrontendPhpClasses
- Templates with one of the listed classes in this setting will be outputed in cell widgets dropdown for available templates (default: hrzg\widget\widgets\TwigTemplate)
Once the extension is installed, simply use it in your code by :
Example with yii2-prototype-module
{{ use ('hrzg/widget/widgets') }}
{{ cell_widget({id: 'main'}) }}
- Standard Twig widget
hrzg\widget\widgets\TwigTemplate
- Char-Rank ordering
001
,10
,5
,aa1
,aa1.2
,b0
(not numeric)
Section: widgets
Key: availablePhpClasses
Type: JSON
####Example:
{"hrzg\\widget\\widgets\\TwigTemplate": "Twig layout"}
{
"title": "Basic",
"type": "object",
"properties": {
"headline": {
"type": "string",
"default": "Avo vole tioma profitanto ts,"
},
"text_html": {
"type": "string",
"format": "html",
"default": "Ja sub kiam aliu, fo unt fora danke helpverbo, dev bv tele kibi piedpilko.",
"options": {
"wysiwyg": true
}
}
}
}
<h2>{{ headline }}</h2>
<p>{{ text_html }}</p>
For more examples, please see the docs
{{ cell_widget({id: 'header'}) }}
Name | Description |
---|---|
widgets_default_index | Widgets Manager |
widgets_crud_api | Widgets CRUD API |
widgets_crud_widget | Widgets CRUD Content |
widgets_crud_widget_create | Widgets CRUD Content Create |
widgets_crud_widget_delete | Widgets CRUD Content Delete |
widgets_crud_widget_index | Widgets CRUD Content Index |
widgets_crud_widget_update | Widgets CRUD Content Update |
widgets_crud_widget_view | Widgets CRUD Content View |
widgets_crud_widget-template | Widgets CRUD Template |
widgets_test | Widgets TEST Playground |
widgets-cell-edit | Frontend editing |
widgets | Widgets Module |
Section | Key | Value | Type |
---|---|---|---|
widgets | ckeditor.config |
{ "height": "4000px", "toolbar": [ ["Format"], ["Link", "Image", "Table", "-", "NumberedList", "BulletedList", "-", "JustifyLeft", "JustifyCenter", "JustifyRight", "JustifyBlock"], ["Source"], "/", ["Bold", "Italic", "Underline", "StrikeThrough", "-", "RemoveFormat", "-", "Undo", "Redo", "-", "Paste", "PasteText", "PasteFromWord", "-", "Cut", "Copy", "Find", "Replace", "-", "Outdent", "Indent", "-", "Print"] ] } |
OBJECT/JSON |