dmstr/yii2-widgets2-module

Yii 2.0 Framework Widget Manager

Installs: 46 907

Dependents: 2

Suggesters: 0

Security: 0

Stars: 8

Watchers: 9

Forks: 8

Open Issues: 7

Type:yii2-extension

2.7.4 2024-05-13 11:08 UTC

This package is auto-updated.

Last update: 2024-07-25 06:31:59 UTC


README

Latest Stable Version Total Downloads License

Widget manager using twig templates

Installation

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.

Testing

cd tests

docker-compose up -d

docker-compose run phpfpm bash

setup.sh

Config

...
'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
	]
]
...

Settings

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)

Usage

Once the extension is installed, simply use it in your code by :

Layout

Example with yii2-prototype-module

{{ use ('hrzg/widget/widgets') }}
{{ cell_widget({id: 'main'}) }}

Widget

  • Standard Twig widget hrzg\widget\widgets\TwigTemplate
  • Char-Rank ordering 001, 10, 5, aa1, aa1.2, b0 (not numeric)

JSON

Settings

Section: widgets

Key: availablePhpClasses

Type: JSON

####Example:

{"hrzg\\widget\\widgets\\TwigTemplate": "Twig layout"}

Widget example

Basic

{
    "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

Upgrading

from 0.2 to 0.3

{{ cell_widget({id: 'header'}) }}

RBAC

Available Permission items

Settings