PHP code example of itstructure / yii2-admin-module

1. Go to this page and download the library: Download itstructure/yii2-admin-module library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

itstructure / yii2-admin-module example snippets


use Itstructure\AdminModule\Module;
use Itstructure\AdminModule\components\AdminView;

'modules' => [
    'admin' => [
        'class' => Module::class,
        'viewPath' => '@app/views/admin',
        'controllerMap' => [
            'catalog' => CatalogController::class,
        ],
        'accessRoles' => ['admin', 'manager'],
        'components' => [
            'view' => [
                'class' => AdminView::class,
                'skin' => AdminView::SKIN_GREEN_LIGHT,
                'bodyLayout' => AdminView::LAYOUT_SIDEBAR_MINI,
                'mainMenuConfig' => 

[
    'menuItems' => [
        'catalog' => [
            'title' => 'Catalog',
            'icon' => 'fa fa-database',
            'url' => '#',
            'subItems' => [
                'subitem' => [
                    'title' => 'Subcatalog',
                    'icon' => 'fa fa-link',
                    'url' => '/admin/catalog',
                ]
            ]
        ],
        'otheritem' => [
            'title' => 'Other Item',
            'icon' => 'fa fa-database',
            'url' => '/admin/otheritem',
        ],
    ],
]

    [
        FirstExtraAsset::class,
        SecondExtraAsset::class,
    ]
    

    [
        [
            'class' => FirstExtraAsset::class,
        ],
        [
            'class' => SecondExtraAsset::class,
        ],
    ]
    

use Itstructure\AdminModule\Module;
use Itstructure\AdminModule\components\AdminView;

'modules' => [
    'admin' => [
        'class' => Module::class,
        'viewPath' => '@app/views/admin',
        'controllerMap' => [
            'catalog' => CatalogController::class,
        ],
        ...
        ...
        'isMultilanguage' => true,
    ],
],

        use Itstructure\AdminModule\Module;
        

        'modules' => [
            'admin' => [
                'class' => Module::class,
            ],
        ],
        

        $application = new yii\console\Application($config);
        
        \Yii::setAlias('@admin', $application->getModule('admin')->getBasePath());
        
        $exitCode = $application->run();
        

        use Itstructure\AdminModule\Module;
        

        $application = new yii\console\Application($config);
        
        \Yii::setAlias('@admin', Module::getBaseDir());
        
        $exitCode = $application->run();
        

    protected function getModelName():string
    {
        return Catalog::class;
    }
    

    protected function getSearchModelName():string
    {
        return CatalogSearch::class;
    }
    

    use Itstructure\AdminModule\models\MultilanguageTrait;
    
    class Catalog extends ActiveRecord
    {
        use MultilanguageTrait;
    ...
    

    use Itstructure\FieldWidgets\Fields.php;
    

    $form = ActiveForm::begin();
    

    echo Fields::widget([
        'fields' => [
            [
                'name' => 'title',
                'type' => FieldType::FIELD_TYPE_TEXT,
            ],
            [
                'name' => 'description',
                'type' => FieldType::FIELD_TYPE_TEXT_AREA,
            ],
        ],
        'model'         => $model,
        'form'          => $form,
        'languageModel' => new Language()
    ])
    

    Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary'])
    

    ActiveForm::end();
    

    use Itstructure\AdminModule\Module;
    use Itstructure\AdminModule\components\AdminView;
    use Itstructure\AdminModule\components\MultilanguageValidateComponent;
    

    'modules' => [
        'admin' => [
            'class' => Module::class,
            'viewPath' => '@app/views/admin',
            'controllerMap' => [
                'catalog' => CatalogController::class,
                ...
            ],
            'isMultilanguage' => true,
            'components' => [
                'view' => [
                    'class' => AdminView::class,
                    'skin' => AdminView::SKIN_GREEN_LIGHT,
                    'bodyLayout' => AdminView::LAYOUT_SIDEBAR_MINI,
                    'mainMenuConfig' =>         * Field dynamicFields needs to have: 'name' - field name.
                     * Field dynamicFields (not necessary) may have 'rules'.
                     */
                    'models' => [
                        Catalog::tableName() => [
                            'dynamicFields' => [
                                [
                                    'name' => 'title',
                                    'rules' => [
                                        [
                                            '                      ]
                                ],
                            ],
                        ]
                    ]
                ]
            ],
        ]
    ]