* @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']
],
];
}
}