-
Notifications
You must be signed in to change notification settings - Fork 2
/
MainHeader.php
53 lines (46 loc) · 1.71 KB
/
MainHeader.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
namespace yiichina\adminlte;
use Yii;
use yii\helpers\ArrayHelper;
use yii\bootstrap\Html;
use yii\bootstrap\BootstrapPluginAsset;
class MainHeader extends \yii\bootstrap\NavBar
{
public $brandLabelMini = false;
/**
* Initializes the widget.
*/
public function init()
{
$this->clientOptions = false;
echo Html::beginTag('header', ['class' => 'main-header']);
if ($this->brandLabel !== false) {
Html::addCssClass($this->brandOptions, ['widget' => 'logo']);
echo Html::a(Html::tag('span', $this->brandLabelMini ?: $this->brandLabel, ['class' => 'logo-mini']) . Html::tag('span', $this->brandLabel, ['class' => 'logo-lg']), $this->brandUrl === false ? Yii::$app->homeUrl : $this->brandUrl, $this->brandOptions);
}
$options = $this->options;
if (empty($options['class'])) {
Html::addCssClass($options, ['navbar', 'navbar-static-top']);
}
$tag = ArrayHelper::remove($options, 'tag', 'nav');
echo Html::beginTag($tag, $options);
echo $this->renderToggleButton();
echo Html::beginTag('div', ['class' => 'navbar-custom-menu']);
}
public function run()
{
echo Html::endTag('div');
$tag = ArrayHelper::remove($this->options, 'tag', 'nav');
echo Html::endTag($tag);
echo Html::endTag('header');
BootstrapPluginAsset::register($this->getView());
}
protected function renderToggleButton()
{
return Html::a(Html::tag('span', 'Toggle navigation', ['class' => 'sr-only']), '#', [
'class' => 'sidebar-toggle',
'data-toggle' => 'push-menu',
'role' => 'button',
]);
}
}