<?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); } }