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