Live content extension for Yii 2
This extension provides easy way to make dynamic content of web application for Yii framework 2.0 applications., (*1)
Installation
The preferred way to install this extension is through composer., (*2)
Either run, (*3)
composer require --prefer-dist sergeykoz/yii2-livecontent:0.1.0
or add, (*4)
"sergeykoz/yii2-livecontent": "~0.1.0"
to the require section of your composer.json file., (*5)
Updating database schema
After you downloaded sergeykoz/yii2-livecontent,
you need to do is updating your database schema by applying the migrations:, (*6)
In command line:, (*7)
php yii migrate --migrationPath=@vendor/sergeykoz/yii2-livecontent/src/migrations
or configure controllerMap settings, (*8)
Configuration
Once the extension is installed, simply modify your application configuration as follows:, (*9)
return [
    'bootstrap' => ['livecontent'],
    'modules' => [
        'livecontent' => [
            'class' => 'ssoft\livecontent\Module',
            //'accessRules' => [[
            //    'allow' => true,
            //    'verbs' => ['POST']
            //]],
            //'editorOptions' => [
            //    'clientOptions'=>[
            //        'rows' => 6,
            //        'autoParagraph'=>false 
            //    ],
            //    'preset' => 'full',
            //    'autoParagraph' => true
            //]
        ],
        ...
    ],
    ...
];
Config file console.php, (*10)
return [
    'controllerMap' => [
        'migrate' => [
            'class' => 'yii\console\controllers\MigrateController',
            'migrationNamespaces' => [
                'ssoft\livecontent\migrations'
            ],
        ],
    ],
];
Usage
In view
```php
user->isGuest. For applications based on RBAC access you can use \Yii::$app->user->can('admin')
blockLogic - the argument uses just for Content::block method which consists HTML template and fields to the template.
*/
echo Content::text('text-id-'.\Yii::$app->language, !Yii::$app->user->isGuest);
...
echo Content::textarea('textblock-id', !Yii::$app->user->isGuest); // allowed to logged user
...
echo Content::html('formatted-text-id', \Yii::$app->user->can('admin')); // allowed for RBAC role  admin
...
$block=[
    'template' => ", (*11)
{edit}
        
{head}
        {description}
        {show_link on}
{caption}, (*12)
{/show_link on}
    
",               
    'rules'=> [
        'edit'=>['type'=>'editcontrol',],              
        'head' => ['name' => 'Title', 'type' => 'text', 'required' => true],
        'description' => ['name' => 'Description', 'type' => 'html', 'required' => true],
        'caption' => ['name' => 'Text', 'type'=>'text', 'required' => true],
        'link' => ['name' => 'Link','type'=>'text'],
        'show_link' => ['name' => 'Show a button','type'=>'checkbox', 'required' => true],
        'button' => [
            'name' => 'Button type',
            'type' => 'select',
            'options'=>[
                ['option'=>'Default', 'value' => 'btn-default'],
                ['option'=>'Primary', 'value' => 'btn-primary'],
                ['option'=>'Success', 'value' => 'btn-success'],
                ['option'=>'Info', 'value' => 'btn-info'],
                ['option'=>'Warning', 'value' => 'btn-warning'],
                ['option'=>'Danger', 'value' => 'btn-danger'],
            ],
            'required' => true
        ],
    ]
];
echo Content::block('block-id', !Yii::$app->user->isGuest, $block);  
?>