main.php 15.4 KB
<?php
return [
    'language'      => 'ru',
    'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',

    'components' => [
        'assetManager' => [
            'bundles' => [
                'yii\web\JqueryAsset' =>[
                    'jsOptions' =>  ['position' => \yii\web\View::POS_HEAD]
                ]
            ],
        ],

        'sms' => [
            'class' => 'common\components\SmsSender',
        ],

        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],

        'i18n' => [
            'translations' => [
                '*' => [
                    'class' => 'yii\i18n\PhpMessageSource',
                    'basePath' => '@common/translation',
                    'fileMap' => [
                        'app' => 'app.php',
                        'app/error' => 'error.php',
                    ],
                ],
                'app' => [
                    'class' => 'yii\i18n\PhpMessageSource',
                    'basePath' => '@common/translation',
                    'fileMap' => [
                        'app' => 'app.php',
                        'app/error' => 'error.php',
                    ],
                ],
            ],
        ],
        'artboximage' => [
            'class' => 'common\components\artboximage\ArtboxImage',
            'driver' => 'GD',  //GD or Imagick
            'rootPath' => Yii::getAlias('@frontend/web/images'),
            'rootUrl' => Yii::getAlias('/images'),
            'presets' => [
                'product' => [
                    'resize' => [
                        'width' => 300,
                        'height' => 300,
                        'master' => null
                    ],
                ],
                'product_variant' => [
                    'resize' => [
                        'width' => 38,
                        'height' => 38,
                        'master' => null
                    ],
                ],
                'product_trumb2' => [
                    'resize' => [
                        'width' => 88,
                        'height' => 88,
                        'master' => null
                    ],
                ],
                'product_basket' => [
                    'resize' => [
                        'width' => 100,
                        'height' => 200,
                        'master' => null
                    ],
                ],
                'product_view' => [
                    'resize' => [
                        'width' => 392,
                        'height' => 365,
                        'master' => null
                    ],
                ],
                'iam' => [
                    'resize' => [
                        'width' => 120,
                        'height' => 240,
                        'master' => null
                    ],
                ],
                'slider' => [
                    'resize' => [
                        'width' => 720,
                        'height' => 340,
                        'master' => null
                    ],
                ],
                'brandlist' => [
                    'resize' => [
                        'width' => 128,
                        'height' => 128,
                        'master' => null
                    ],
                ],
                'eventlist' => [
                    'resize' => [
                        'width' => 180,
                        'height' => 125,
                        'master' => null
                    ],
                ],
                'brand_item' => [
                    'resize' => [
                        'width' => 150,
                        'height' => 150,
                        'master' => null
                    ],
                    'crop' => [
                        'width' => 150,
                        'height' => 150,
                        'master' => null
                    ],
                ],
                'mainmenu' => [
                    'resize' => [
                        'width' => 160,
                        'height' => 170,
                        'master' => null
                    ],
                ],
                'list' => [
                    'resize' => [
                        'width' => 134,
                        'height' => 200,
                        'master' => null
                    ],
                ],
                'large' => [
                    'resize' => [
                        'width' => 600,
                        'height' => 600,
                        'master' => null
                    ],
                ],
                'admin_thumb' => [
                    'resize' => [
                        'width' => 256,
                    ],
                ],
            ]
        ],
    ],

    'modules' => [
        'file' => [
            'class' => 'common\modules\file\Module',
        ],
        'relation' => [
            'class' => 'common\modules\relation\Module',
            'relations' => [
                'product_categories' => [
                    'name' => Yii::t('product', 'Categories'),
                    'field' => 'categories',
                    'entity1' => [
                        'model' => '\common\modules\product\models\Product',
                        'label' => 'Product',
                        'listField' => 'name',
                        'searchField' => 'name',
                        'key' => 'product_id',
                        'linked_key' => 'product_id',
                    ],
                    'entity2' => [
                        'model' => '\common\modules\product\models\Category',
                        'label' => 'Category',
                        'listField' => 'categoryName.value',
                        'searchField' => 'category_name.value',
                        'searchJoin' => 'categoryName',
                        'key' => 'category_id',
                        'linked_key' => 'category_id',
                        'hierarchy' => [
                            'key' => 'category_id',
                            'parentKey' => 'parent_id',
                        ]
                    ],
                    'via' => [
                        'model' => '\common\modules\product\models\ProductCategory',
                    ]
                ],
                'product_option' => [
                    'name' => Yii::t('product', 'Properties'),
                    'field' => 'options',
                    'entity1' => [
                        'model' => '\common\modules\product\models\Product',
                        'label' => 'Product',
                        'listField' => 'fullname',
                        'key' => 'product_id',
                        'linked_key' => 'product_id',
                    ],
                    'entity2' => [
                        'model' => '\common\modules\rubrication\models\TaxOption',
                        'label' => 'Option',
                        'listField' => 'ValueRenderFlash',
                        'key' => 'tax_option_id',
                        'linked_key' => 'option_id',
                    ],
                    'via' => [
                        'model' => 'common\modules\product\models\ProductOption',
                    ]
                ],
                'tax_group_to_category' => [
                    'name' => Yii::t('product', 'Характеристики по категориям'),
                    'field' => 'group_to_category',
                    'entity1' => [
                        'model' => '\common\modules\rubrication\models\TaxGroup',
                        'label' => 'Group',
                        'listField' => 'name',
                        'key' => 'tax_group_id',
                        'linked_key' => 'entity1_id',
                    ],
                    'entity2' => [
                        'model' => '\common\modules\product\models\Category',
                        'label' => 'Category',
                        'listField' => 'name',
                        'key' => 'category_id',
                        'linked_key' => 'entity2_id',
                        'hierarchy' => [
                            'key' => 'category_id',
                            'parentKey' => 'parent_id',
                        ]
                    ],
                    'via' => [
                        'model' => '\common\modules\relation\models\Relation',
                        'alias' => 'alias',
                    ]
                ],
                /*
                'relation_categories' => [
                    'name' => Yii::t('relation', 'Relation categories'),
                    'field' => 'categories',
                    'entity1' => [
                        'model' => '\common\modules\product\models\Product',
                        'label' => 'Product',
                        'listField' => 'fullname',
                        'key' => 'product_id',
                        'linked_key' => 'product_id',
                    ],
                    'entity2' => [
                        'model' => '\common\modules\rubrication\models\TaxOption',
                        'label' => 'Category',
                        'listField' => 'ValueRenderFlash',
                        'key' => 'tax_option_id',
                        'linked_key' => 'category_id',
                        'where' => [
                            'tax_group_id' => 1
                        ]
                    ],
                    'via' => [
                        'model' => '\common\modules\relation\models\Relation',
                        'alias' => 'alias',
                    ]
                ],
                'tax_option_to_group' => [
                    'name' => 'Options-Groups',
                    'field' => 'tax_option_to_group',
                    'linked_table' => 'tax_option_to_group',
                    'entity1' => [
                        'label' => 'Option',
                        'listField' => 'ValueRenderFlash',
                        'model' => '\common\modules\rubrication\models\TaxOption',
                        'key' => 'tax_option_id',
                        'linked_key' => 'tax_option_id',
                    ],
                    'entity2' => [
                        'label' => 'Group',
                        'listField' => 'name',
                        'model' => '\common\modules\rubrication\models\TaxGroup',
                        'key' => 'tax_group_id',
                        'linked_key' => 'tax_group_id',
                    ],
                    'via' => [
                        'model' => 'common\modules\rubrication\models\TaxOptionToGroup',
                        'alias' => 'alias',
                    ]
                ],
                'tax_option_to_option' => [
                    'name' => 'Options-Options',
                    'field' => 'tax_option_to_option',
                    'entity1' => [
                        'label' => 'Option',
                        'listField' => 'ValueRenderFlash',
                        'model' => '\common\modules\rubrication\models\TaxOption',
                        'key' => 'tax_option_id',
                        'linked_key' => 'tax_option1_id',
                    ],
                    'entity2' => [
                        'label' => 'Option',
                        'listField' => 'ValueRenderFlash',
                        'model' => '\common\modules\rubrication\models\TaxOption',
                        'key' => 'tax_option_id',
                        'linked_key' => 'tax_option2_id',
                    ],
                    'via' => [
                        'model' => 'common\modules\rubrication\models\TaxOptionRelation',
                        'alias' => 'alias',
                    ]
                ],
                'brand_cats' => [
                    'name' => 'Категории производителей',
                    'field' => 'tax_option_to_option',
                    'entity1' => [
                        'label' => 'Бренд',
                        'listField' => 'ValueRenderFlash',
                        'model' => '\common\modules\rubrication\models\TaxOption',
                        'key' => 'tax_option_id',
                        'linked_key' => 'tax_option1_id',
                    ],
                    'entity2' => [
                        'label' => 'Категория',
                        'listField' => 'ValueRenderFlash',
                        'model' => '\common\modules\rubrication\models\TaxOption',
                        'key' => 'tax_option_id',
                        'linked_key' => 'tax_option2_id',
                    ],
                    'via' => [
                        'model' => 'common\modules\rubrication\models\TaxOptionRelation',
                        'alias' => 'alias',
                    ]
                ]*/
            ]
        ],
//        'comment' => [
//            'class' => 'common\modules\comment\Module',
//            'useRbac' => true,
//            'rbac' => [
//                'rules' => [
//                    \common\modules\comment\rbac\ArtboxCommentCreateRule::className(),
//                    \common\modules\comment\rbac\ArtboxCommentDeleteRule::className(),
//                    \common\modules\comment\rbac\ArtboxCommentUpdateRule::className(),
//                    \common\modules\comment\rbac\ArtboxCommentUpdateOwnRule::className(),
//                    \common\modules\comment\rbac\ArtboxCommentDeleteOwnRule::className(),
//                ],
//                'permissions' => [
//                    [
//                        'name' => common\modules\comment\Permissions::CREATE,
//                        'description' => 'Can create comments',
//                        'ruleName' =>(new \common\modules\comment\rbac\ArtboxCommentCreateRule())->name,
//                    ],
//                    [
//                        'name' => common\modules\comment\Permissions::UPDATE,
//                        'description' => 'Can update comments',
//                        'ruleName' =>(new \common\modules\comment\rbac\ArtboxCommentUpdateRule())->name,
//                    ],
//                    [
//                        'name' => common\modules\comment\Permissions::DELETE,
//                        'description' => 'Can delete comments',
//                        'ruleName' =>(new \common\modules\comment\rbac\ArtboxCommentDeleteRule())->name,
//                    ],
//                    [
//                        'name' => common\modules\comment\Permissions::UPDATE_OWN,
//                        'description' => 'Can update own comments',
//                        'ruleName' =>(new \common\modules\comment\rbac\ArtboxCommentUpdateOwnRule())->name,
//                    ],
//                    [
//                        'name' => common\modules\comment\Permissions::DELETE_OWN,
//                        'description' => 'Can delete own comments',
//                        'ruleName' =>(new \common\modules\comment\rbac\ArtboxCommentDeleteOwnRule())->name,
//                    ],
//                ],
//            ],
//
//        ],
    ],
];