* @copyright (c), Thread */ class NavBar extends \yii\bootstrap\NavBar { public $name = 'navbar'; public $translationsBasePath = __DIR__ . '/messages'; /** * Registers translations */ public function registerTranslations() { Yii::$app->i18n->translations[$this->name] = [ 'class' => PhpMessageSource::class, 'basePath' => $this->translationsBasePath, 'fileMap' => [ $this->name => 'navbar.php', ], ]; } /** * @var array */ public $options = [ 'class' => 'navbar-default navbar-static-side', 'role' => 'navigation' ]; /** * @var bool */ public $renderInnerContainer = true; /** * @var array */ public $innerContainerOptions = [ 'class' => 'sidebar-collapse' ]; /** * @var array */ public $containerOptions = [ 'tag' => 'ul', 'id' => 'side-menu' ]; /** * Assets bundle * @var string */ public $bundle; /** * Initializes the widget. */ public function init() { $this->registerTranslations(); $this->clientOptions = false; $options = $this->options; $tag = ArrayHelper::remove($options, 'tag', 'nav'); echo Html::beginTag($tag, $options) . Html::beginTag('div', $this->innerContainerOptions); Html::addCssClass($this->containerOptions, ['nav' => 'nav', 'metismenu' => 'metismenu']); $options = $this->containerOptions; $tag = ArrayHelper::remove($options, 'tag', 'div'); echo Html::beginTag($tag, $options); } public function run() { echo $this->render('parts/_navbarHeader', ['bundle' => $this->bundle]); echo Menu::widget([ 'items' => $this->menuItems(), ]); parent::run(); } /** * @return array */ public function menuItems() { return [ // STRUCTURE [ 'label' => '' . Yii::t('navbar', 'Structure') . '', 'items' => [ [ 'label' => '' . Yii::t('menu', 'Menu') . '', 'url' => ['/menu/menu/list'], ], [ 'label' => ' ' . Yii::t('page', 'Pages') . '', 'url' => ['/page/page/list'] ], [ 'label' => '' . Yii::t('news', 'News') . '', 'items' => [ [ 'label' => '' . Yii::t('news', 'Articles') . '', 'url' => ['/news/article/list'], ], [ 'label' => '' . Yii::t('news', 'Group') . '', 'url' => ['/news/group/list'], ], ], 'options' => ['class' => 'nav-third-level'], ], [ 'label' => '' . Yii::t('calendar', 'Calendar') . '', 'items' => [ [ 'label' => '' . Yii::t('calendar', 'Articles') . '', 'url' => ['/calendar/article/list'], ], ], 'options' => ['class' => 'nav-third-level'], ], [ 'label' => '' . Yii::t('page', 'StaticTextBlock') . '', 'url' => ['/page/static-text-block/list'], ], ] ], //FORMS [ 'label' => '' . Yii::t('navbar', 'Forms') . '', 'items' => [ [ 'label' => '' . Yii::t('form', 'Feedback') . '', 'items' => [ [ 'label' => '' . Yii::t('form', 'Question') . '', 'url' => ['/form/feedback/question/list'], ], [ 'label' => '' . Yii::t('app', 'Group') . '', 'url' => ['/form/feedback/group/list'], ], ], 'options' => ['class' => 'nav-third-level'], ], ] ], // USER [ 'label' => '' . Yii::t('navbar', 'Users') . ' ', 'url' => ['/user/user/list'] ], // LOCATION [ 'label' => '' . Yii::t('navbar', 'Location') . '', 'items' => [ [ 'label' => Yii::t('navbar', 'Region'), 'url' => ['/location/region/list'] ], /*[ 'label' => Yii::t('navbar', 'Country'), 'url' => ['/location/country/list'] ], [ 'label' => Yii::t('navbar', 'City'), 'url' => ['/location/city/list'] ],*/ // [ // 'label' => Yii::t('navbar', 'Currency'), // 'url' => ['/location/currency/list'] // ], ], ], // SYSTEM [ 'label' => '' . Yii::t('navbar', 'System') . '', 'items' => [ [ 'label' => Yii::t('navbar', 'Configs'), 'url' => ['/sys/configs/params/list'] ], // [ // 'label' => Yii::t('navbar', 'Growl'), // 'url' => ['/sys/growl/growl/list'] // ], // [ // 'label' => Yii::t('navbar', 'Cron'), // 'url' => ['/sys/crontab/job/list'] // ], // [ // 'label' => Yii::t('navbar', 'Role of User'), // 'url' => ['/sys/user/role/list'] // ], // [ // 'label' => Yii::t('navbar', 'Messages'), // 'url' => ['/sys/messages/file/list'] // ], [ 'label' => Yii::t('navbar', 'Languages'), 'url' => ['/sys/language/list'] ], [ 'label' => Yii::t('sys', 'MailCarrier'), 'url' => ['/sys/mail-carrier/mail-carrier/list'] ], // [ // 'label' => Yii::t('sys', 'Logbook'), // 'url' => ['/sys/logbook/logbook/list'] // ], [ 'label' => Yii::t('sys', 'Filemanager'), 'url' => ['/sys/filemanager/filemanager'] ], ], ], // FAQ // [ // 'label' => '' . Yii::t('faq', // 'Faq') . '', // 'items' => [ // [ // 'label' => '' . Yii::t('faq', // 'Article') . '', // 'url' => ['/faq/article/list'], // ], // [ // 'label' => '' . Yii::t('faq', // 'Question') . '', // 'url' => ['/faq/question/list'], // ], // [ // 'label' => '' . Yii::t('app', // 'Group') . '', // 'url' => ['/faq/group/list'], // ], // ] // ], // SEO [ 'label' => '' . Yii::t('seo', 'Seo') . '', 'items' => [ [ 'label' => 'Robots.txt', 'url' => ['/seo/robots/update'], ], [ 'label' => '' . Yii::t('seo', 'Direct Link') . '', 'url' => ['/seo/directlink/directlink/list'], ], [ 'label' => '' . Yii::t('seo', 'Base Info') . '', 'url' => ['/seo/info/info/list'], ], ] ], // Map [ 'label' => '' . Yii::t('map', 'Map') . '', 'items' => [ [ 'label' => '' . Yii::t('map', 'Objects') . '', 'url' => ['/map/item/list'], ], [ 'label' => '' . Yii::t('map', 'type') . '', 'url' => ['/map/type/list'], ], [ 'label' => '' . Yii::t('map', 'area') . '', 'url' => ['/map/area/list'], ] ] ], // USER [ 'label' => '' . Yii::t('navbar', 'Partners') . ' ', 'url' => ['/partners/item/list'] ], ]; } }