Initial
This commit is contained in:
36
partials/menu/main/_system_sidebar.phtml
Normal file
36
partials/menu/main/_system_sidebar.phtml
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
$context = BackendMenu::getContext();
|
||||
if (strpos($context->sideMenuCode, '|') !== false) {
|
||||
$menu = explode('|', $context->sideMenuCode);
|
||||
$context->mainMenuCode = $menu[0];
|
||||
$context->sideMenuCode = $menu[1];
|
||||
}
|
||||
if (isset($menu)):
|
||||
?>
|
||||
<?= $this->makePartial(__DIR__ . '/../secondary/_sidenav.phtml', [
|
||||
'context' => $context,
|
||||
]) ?>
|
||||
<?php else: ?>
|
||||
<div class="layout-cell sidenav-tree bg-p" data-control="sidenav-tree" data-search-input="#settings-search-input">
|
||||
<a class="back-link" href="<?= Backend::url('wms/menu') ?>"><i class="icon-angle-left"></i><?= e(trans('wms.menu::plugin.name')) ?></a>
|
||||
|
||||
<div class="layout">
|
||||
<div class="layout-row min-size">
|
||||
<?= $this->makePartial(__DIR__ . '/_system_sidebar_menu_toolbar.phtml') ?>
|
||||
</div>
|
||||
|
||||
<div class="layout-row">
|
||||
<div class="layout-cell">
|
||||
<div class="layout-relative">
|
||||
|
||||
<div class="layout-absolute">
|
||||
<div class="control-scrollbar" data-control="scrollbar">
|
||||
<?= $this->makePartial(__DIR__ . '/_system_sidebar_menu.phtml') ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
52
partials/menu/main/_system_sidebar_menu.phtml
Normal file
52
partials/menu/main/_system_sidebar_menu.phtml
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
if ($sideMenuItems = BackendMenu::listSideMenuItems()):
|
||||
$collapsedGroups = explode('|',
|
||||
isset($_COOKIE['sidenav_treegroupStatus'])
|
||||
? $_COOKIE['sidenav_treegroupStatus']
|
||||
: null
|
||||
);
|
||||
$categories = [];
|
||||
foreach ($sideMenuItems as $sideItemCode => $item) {
|
||||
if(!property_exists($item, 'group')) {
|
||||
$item->group = 'default';
|
||||
}
|
||||
if(!property_exists($item, 'keywords')) {
|
||||
$item->keywords = '';
|
||||
}
|
||||
if(!property_exists($item, 'description')) {
|
||||
$item->description = '';
|
||||
}
|
||||
$categories[$item->group][$sideItemCode] = $item;
|
||||
}
|
||||
?>
|
||||
<ul class="top-level">
|
||||
<?php foreach ($categories as $category => $items):
|
||||
$collapsed = in_array($category, $collapsedGroups); ?>
|
||||
<li data-group-code="<?= e($category) ?>" <?= $collapsed ? 'data-status="collapsed"' : null ?>>
|
||||
<div class="group">
|
||||
<h3><?= e(trans($category)); ?></h3>
|
||||
</div>
|
||||
<ul>
|
||||
<?php foreach ($items as $item):
|
||||
$last_path = array_last(explode('/', request()->path())); ?>
|
||||
<li class="<?=
|
||||
((BackendMenu::isSideMenuItemActive($item) && empty($item->scontents))
|
||||
|| (
|
||||
isset($item->scontents)
|
||||
&& $item->scontents == $last_path
|
||||
))
|
||||
? 'active'
|
||||
: null;
|
||||
?>" data-keywords="<?= e(trans($item->keywords)) ?>">
|
||||
<a href="<?= $item->url ?>">
|
||||
<i class="<?= $item->icon ?>"></i>
|
||||
<span class="header"><?= e(trans($item->label)) ?></span>
|
||||
<span class="description"><?= e(trans($item->description)) ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
<?php endif; ?>
|
14
partials/menu/main/_system_sidebar_menu_toolbar.phtml
Normal file
14
partials/menu/main/_system_sidebar_menu_toolbar.phtml
Normal file
@ -0,0 +1,14 @@
|
||||
<div class="layout control-toolbar">
|
||||
<div class="layout-cell">
|
||||
<div class="relative toolbar-item loading-indicator-container size-input-text">
|
||||
<input placeholder="<?= e(trans('system::lang.settings.search')) ?>" type="text" name="search" value=""
|
||||
class="form-control icon search"
|
||||
id="settings-search-input"
|
||||
autocomplete="off"
|
||||
data-track-input
|
||||
data-load-indicator
|
||||
data-load-indicator-opaque
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
81
partials/menu/secondary/_sidenav.phtml
Normal file
81
partials/menu/secondary/_sidenav.phtml
Normal file
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
$mainMenuCode = 'main';
|
||||
$sideMainMenuItems = BackendMenu::listSideMenuItems();
|
||||
if (!isset($context)) {
|
||||
$context = BackendMenu::getContext();
|
||||
}
|
||||
?>
|
||||
<?php if ($sideMainMenuItems): ?>
|
||||
<div class="layout-cell layout-sidenav-container wms-menu">
|
||||
<div class="layout-relative">
|
||||
<nav
|
||||
id="layout-sidenav"
|
||||
class="layout-sidenav bg-p"
|
||||
data-active-class="active"
|
||||
data-control="sidenav">
|
||||
<ul class="nav">
|
||||
<?php foreach ($sideMainMenuItems as $sideItemCode => $item): ?>
|
||||
<li
|
||||
class="<?= $context->mainMenuCode == $sideItemCode ? 'active' : null ?>"
|
||||
<?= Html::attributes($item->attributes) ?>
|
||||
>
|
||||
<a href="<?= $item->url ?>">
|
||||
<span class="nav-icon">
|
||||
<?php if ($item->iconSvg): ?>
|
||||
<img class="svg-icon" src="<?= Url::asset($item->iconSvg) ?>">
|
||||
<?php endif ?>
|
||||
|
||||
<i class="<?= $item->iconSvg ? 'svg-replace' : null ?> <?= $item->icon ?>"></i>
|
||||
</span>
|
||||
<span class="nav-label">
|
||||
<?= e(trans($item->label)) ?>
|
||||
</span>
|
||||
</a>
|
||||
<span
|
||||
class="counter <?= $item->counter === null ? 'empty' : null ?>"
|
||||
data-menu-id="<?= e($mainMenuCode.'/'.$sideItemCode) ?>"
|
||||
<?php if ($item->counterLabel): ?>title="<?= e(trans($item->counterLabel)) ?>"<?php endif ?>
|
||||
>
|
||||
<?= e($item->counter) ?>
|
||||
</span>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
<div class="layout-cell sidenav-tree bg-p" data-control="sidenav-tree" data-search-input="#settings-search-input">
|
||||
<a class="back-link" href="<?= Backend::url('wms/menu' . (empty($context->sideMenuCode) ? '' : "/{$context->mainMenuCode}")) ?>">
|
||||
<i class="icon-angle-left"></i><?= e(trans($context->mainMenuCode == $mainMenuCode || empty($context->sideMenuCode)
|
||||
? 'wms.menu::plugin.name'
|
||||
: "wms.site::lang.{$context->mainMenuCode}.title"
|
||||
)) ?>
|
||||
</a>
|
||||
<div class="layout">
|
||||
<a class="back-link wms-menu-back-link" href="<?= Backend::url('wms/menu' . (empty($context->sideMenuCode) ? '' : "/{$context->mainMenuCode}")) ?>">
|
||||
<i class="icon-angle-left"></i><?= e(trans($context->mainMenuCode == $mainMenuCode || empty($context->sideMenuCode)
|
||||
? 'wms.menu::plugin.name'
|
||||
: "wms.site::lang.{$context->mainMenuCode}.title"
|
||||
)) ?>
|
||||
</a>
|
||||
<div class="layout-row min-size">
|
||||
<?= $this->makePartial(__DIR__ . '/../main/_system_sidebar_menu_toolbar.phtml'); ?>
|
||||
</div>
|
||||
|
||||
<div class="layout-row">
|
||||
<div class="layout-cell">
|
||||
<div class="layout-relative">
|
||||
|
||||
<div class="layout-absolute">
|
||||
<div class="control-scrollbar" data-control="scrollbar">
|
||||
<?= $this->makePartial(__DIR__ . '/_sidenav_sidebar_menu.phtml', [
|
||||
'context' => $context,
|
||||
]) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
31
partials/menu/secondary/_sidenav_sidebar_menu.phtml
Normal file
31
partials/menu/secondary/_sidenav_sidebar_menu.phtml
Normal file
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
if ($sideMenuItems = $this->getMenu($context->mainMenuCode)):
|
||||
$collapsedGroups = explode('|',
|
||||
isset($_COOKIE['sidenav_treegroupStatus'])
|
||||
? $_COOKIE['sidenav_treegroupStatus']
|
||||
: null
|
||||
);
|
||||
?>
|
||||
<ul class="top-level">
|
||||
<?php foreach ($sideMenuItems as $category => $items):
|
||||
$collapsed = in_array($category, $collapsedGroups); ?>
|
||||
<li data-group-code="<?= e($category) ?>" <?= $collapsed ? 'data-status="collapsed"' : null ?>>
|
||||
<div class="group">
|
||||
<h3><?= e(trans($category)); ?></h3>
|
||||
</div>
|
||||
<ul>
|
||||
<?php foreach ($items as $name => $item): ?>
|
||||
<?php $keywords = isset($item['keywords']) ? e(trans($item['keywords'])) : ''; ?>
|
||||
<li class="<?= $context->sideMenuCode == $name ? 'active' : null; ?>" data-keywords="<?= $keywords ?>">
|
||||
<a href="<?= isset($item['url']) ? $item['url'] : '#'; ?>">
|
||||
<i class="<?= isset($item['icon']) ? $item['icon'] : ''; ?>"></i>
|
||||
<span class="header"><?= isset($item['label']) ? e(trans($item['label'])) : '' ?></span>
|
||||
<span class="description"><?= isset($item['description']) ? e(trans($item['description'])) : '' ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
<?php endif; ?>
|
Reference in New Issue
Block a user