|  |  |  | <?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 = ArrayHelper::map(Settings::find()->andWhere(['active' => 1])->all(), 'key', 'value', 'section');
 | 
					
						
							|  |  |  | 	    $app->params['settings'] = $settings;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	    // 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);
 | 
					
						
							|  |  |  |     }
 | 
					
						
							|  |  |  | }
 |