You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							46 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							46 lines
						
					
					
						
							1.6 KiB
						
					
					
				<?php | 
						|
 | 
						|
namespace frontend\bootstrap; | 
						|
 | 
						|
use core\entities\Settings; | 
						|
use core\helpers\LanguageHelper; | 
						|
use yii\base\BootstrapInterface; | 
						|
use yii\helpers\ArrayHelper; | 
						|
use yii\widgets\Breadcrumbs; | 
						|
 | 
						|
class SetUp implements BootstrapInterface | 
						|
{ | 
						|
    public function bootstrap($app): void | 
						|
    { | 
						|
        $container = \Yii::$container; | 
						|
 | 
						|
        $container->set(Breadcrumbs::class, function ($container, $params, $args) { | 
						|
            return new Breadcrumbs(ArrayHelper::merge([ | 
						|
                'homeLink' => [ | 
						|
                    //'label' => '<span class="fa fa-home"></span>', | 
						|
                    'label'  => \Yii::t('post', 'Home'), | 
						|
                    'encode' => false, | 
						|
                    'url'    => \Yii::$app->homeUrl, | 
						|
                ], | 
						|
            ], $args)); | 
						|
        }); | 
						|
 | 
						|
        // Load settings | 
						|
        $settings = Settings::find()->with('translations')->andWhere(['active' => 1])->all(); | 
						|
        $settings_array = $settings ? ArrayHelper::map($settings, 'key', function ($el) { | 
						|
            return isset($el->translation->value) ? $el->translation->value : ''; | 
						|
        }, 'section') : []; | 
						|
        $app->params['settings'] = $settings_array; | 
						|
 | 
						|
        // Add finish UrlRules | 
						|
        $app->getUrlManager()->addRules([ | 
						|
            '<_c:[\w\-]+>'                       => '<_c>/index', | 
						|
            '<_c:[\w\-]+>/<id:\d+>'              => '<_c>/view', | 
						|
            '<_c:[\w\-]+>/<_a:[\w-]+>'           => '<_c>/<_a>', | 
						|
            '<_c:[\w\-]+>/<id:\d+>/<_a:[\w\-]+>' => '<_c>/<_a>', | 
						|
        ]); | 
						|
 | 
						|
        // redefine home url | 
						|
        \Yii::$app->homeUrl = LanguageHelper::addLangToUrl(\Yii::$app->homeUrl); | 
						|
    } | 
						|
}
 | 
						|
 |