PHP code example of albert-gee-ca / yii2-shop

1. Go to this page and download the library: Download albert-gee-ca/yii2-shop 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/ */

    

albert-gee-ca / yii2-shop example snippets


    'bootstrap' => [
        //'albertgeeca\shop\backend\components\events\PartnersBootstrap',
        'albertgeeca\shop\backend\components\events\ShopLogBootstrap',
        'albertgeeca\shop\backend\components\events\CartBootstrap',
    ],
    'modules' => [
        'shop' => [
            'class' => 'albertgeeca\shop\backend\Module',
            'enableCurrencyConversion' => true
        ]
    ]

    'modules' => [
    	...
        'shop' => [
                    'class' => albertgeeca\shop\frontend\Module::className(),
                    'enableCurrencyConversion' => true,
                    'partnerManagerEmail' => $params['partnerManagerEmail'],
                    'senderEmail' => $params['senderEmail'],
                    'showChildCategoriesProducts' => false
                ],
        ...
    ],
    
    'components' => [
        ...
        
        'partnerMailer' => [
                    'class' => yii\swiftmailer\Mailer::className(),
                    'useFileTransport' => false,
                    'messageConfig' => [
                        'charset' => 'UTF-8',
                    ],
                    'viewPath' => '@vendor/albert-sointula/yii2-shop/frontend/views/partner-request/mail',
                    'htmlLayout' => '@vendor/albert-sointula/yii2-shop/frontend/views/partner-request/mail/layout',
                    'transport' => [
                        'class' => 'Swift_SmtpTransport',
                        'username' => '[email protected]',
                        'password' => '55555555',
                        'host' => 'pop.mail.com',
                        'port' => '587',
                    ],
                ],
        ...
    ]

    'bootstrap' => [
        'albertgeeca\shop\frontend\components\events\PartnersBootstrap',
        'albertgeeca\shop\frontend\components\events\UserRegistrationBootstrap'
    ],

    /**
     * @return \yii\db\ActiveQuery
     */
    public function getProductCountry()
    {
        return $this->hasOne(ProductCountry::className(), ['id' => 'country_id']);
    }

 'modules' => [
    ...
    
    'user' => [
                'modelMap' => [
                    'RegistrationForm' => albertgeeca\shop\common\components\user\models\RegistrationForm::className(),
                    'RecoveryForm' => albertgeeca\shop\common\components\user\models\RecoveryForm::className(),
                    'LoginForm' => albertgeeca\shop\common\components\user\models\LoginForm::className(),
                    'SettingsForm' => albertgeeca\shop\common\components\user\models\SettingsForm::className(),
                ],
                'controllerMap' => [
                    'registration' => albertgeeca\shop\frontend\components\user\controllers\RegistrationController::className(),
                    'settings' => albertgeeca\shop\frontend\components\user\controllers\SettingsController::className(),
                    'security' => albertgeeca\shop\frontend\components\user\controllers\SecurityController::className(),
                    'recovery' => albertgeeca\shop\frontend\components\user\controllers\RecoveryController::className()
                ],
                'as frontend' => dektrium\user\filters\FrontendFilter::className(),
                'enableFlashMessages' => false
            ],
    
    ...
 
 ],
 
 'components' => [
 
    ...
    'user' => [
                'identityClass' => albertgeeca\shop\common\components\user\models\User::className(),
                'enableAutoLogin' => true,
                'identityCookie' => [
                    'name'     => '_frontendIdentity',
                    'path'     => '/',
                    'httpOnly' => true,
                ],
                'on afterLogin' => function() {
                    if (Yii::$app->cart->saveToDataBase) Yii::$app->cart->transportSessionDataToDB();
                },
                'on afterConfirm' => function() {
                    if (Yii::$app->cart->saveToDataBase) Yii::$app->cart->transportSessionDataToDB();
                },
            ],
    ...
    ],

'modules' => [

    ...
    'user' => [
                'enableRegistration' => false,
                'enableConfirmation' => false,
                'admins' => ['admin'],
                'adminPermission' => 'rbacManager',
                'controllerMap' => [
                    'admin' => albertgeeca\shop\backend\components\user\controllers\AdminController::className(),
                    'security' => albertgeeca\shop\frontend\components\user\controllers\SecurityController::className()
                ],
                'as backend' => [
                    'class' => 'dektrium\user\filters\BackendFilter',
                    'only' => ['register'], // Block View Register Backend
                ],
            ],
    ...
],

'components' => [

    ...
    'user' => [
                'identityClass' => dektrium\user\models\User::className(),
                'enableAutoLogin' => true,
                'returnUrl' => '/',
                'identityCookie' => [
                    'name'     => '_backendIdentity',
                    'path'     => '/admin',
                    'httpOnly' => true,
                ],
            ],
    ...
    
    'view' => [
                'theme' => [
                    'basePath' => '@backend/themes/' . $params['themeName'],
                    'baseUrl' => '@web/themes/' . $params['themeName'],
                    'pathMap' => [
                        '@dektrium/user/views' => '@vendor/sointula/yii2-shop/backend/views/user',
                    ],
                ],
            ],
],


- php yii migrate --migrationPath=@vendor/dektrium/yii2-user/migrations
- php yii migrate --migrationPath=@yii/rbac/migrations
- php yii migrate --migrationPath=@vendor/black-lamp/yii2-multi-lang/migration
- php yii migrate --migrationPath=@vendor/black-lamp/yii2-seo/migrations
- php yii migrate --migrationPath=@vendor/black-lamp/blcms-staticpage/migrations
- php yii migrate --migrationPath=@vendor/black-lamp/yii2-email-templates/src/migrations
- php yii migrate --migrationPath=@vendor/albert-sointula/yii2-shop/migrations


<?= \albertgeeca\shop\widgets\RecommendedProducts::widget([
    'id' => $product->id,
]); 

php yii migrate --migrationPath=@yii/log/migrations/