dmstr/yii2-prototype-module

Backend UI for static files

Installs: 59 010

Dependents: 3

Suggesters: 1

Security: 0

Stars: 5

Watchers: 7

Forks: 5

Open Issues: 0

Type:yii2-extension

2.2.5 2023-01-27 14:30 UTC

README

Latest Stable Version Total Downloads License

Twig, LESS and HTML Content prototyping module for Yii 2.0 Framework

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist dmstr/yii2-prototype-module "*"

or add

"dmstr/yii2-prototype-module": "*"

to the require section of your composer.json file.

Requirements

  • configured Twig view renderer in application (since 0.5.0-rc6)

Usage

####Prototype command:

#####Configuration

In your console config add:

'controllerMap' => [
    'prototype' => 'dmstr\modules\prototype\commands'
]
Commands:
  • prototype/export-html
  • prototype/export-less
  • prototype/export-twig

Each of these commands exports either html, less or twig as a file on a given file path (via --exportPath flag) default is @runtime/exports

Note: To escape file names you can use the --escapeFileNames flag

  • prototype/export-asset-bundle <mainLessFile (optional)>

Exports less files and an asset bunde to a given export path (via --exportPath flag) default is @runtime/exports

Note:

1.) You will be prompted to choose a namespace and to select less files which should be added to the asset bundle 2.) The defined main less file will be automatical have default yes in confirmation

--> if you run this command on non interactive mode (--interactive=0), main less file will be added to the asset bundle and the namespace will be set to app\assets

Twig example

{{ use ('hrzg/moxiecode/moxiemanager/widgets') }}

{{ browse_button_widget( {"tagName": "a"} ) }}

Cache trigger time

\Yii::$app->cache->get('prototype.less.changed_at');

Testing

docker-compose up -d

docker-compose run phpfpm codecept run

CRUDS

‼️ Do no regenerate CRUDs for html

$ yii batch \
    --tables=app_twig \
    --modelNamespace=dmstr\\modules\\prototype\\models \
    --modelQueryNamespace=dmstr\\modules\\prototype\\models\\query \
    --crudSearchModelNamespace=dmstr\\modules\\prototype\\models\\query \
    --crudControllerNamespace=dmstr\\modules\\prototype\\controllers \
    --crudViewPath=@dmstr/modules/prototype/views \