From 32e9c73d0641dd0a8dd62fd15131d00d2512957e Mon Sep 17 00:00:00 2001 From: root Date: Tue, 26 Nov 2019 14:17:04 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=A4=9A=E7=BA=A7=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=98=BE=E7=A4=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/views/layouts/sidebar.php | 14 ++++----- vendor/iron/grid/GridView.php | 24 ++++++++-------- vendor/iron/widgets/Menu.php | 47 ++++++++++++++++++++----------- 3 files changed, 51 insertions(+), 34 deletions(-) diff --git a/backend/views/layouts/sidebar.php b/backend/views/layouts/sidebar.php index 9eb71db..8978670 100755 --- a/backend/views/layouts/sidebar.php +++ b/backend/views/layouts/sidebar.php @@ -22,16 +22,16 @@ use iron\widgets\Menu; ], ['label' => '商品管理', 'url' => '#', 'icon' => 'far fa-archive', 'items' => [ - ['label' => '规格管理', 'url' => ['/antgoods/attribute/index']], - ['label' => '商品列表', 'url' => ['/antgoods/goods/index']], - ['label' => '后台商品分类', 'url' => ['/antgoods/category/index']], - ['label' => '前端商品分类', 'url' => ['/antgoods/shopcategory/index']], - ['label' => '品牌管理', 'url' => ['/antgoods/brand/index']], - ['label' => '供应商管理', 'url' => ['/antgoods/supplier/index']], + ['label' => '规格管理', 'url' => ['/antgoods/attribute']], + ['label' => '商品列表', 'url' => ['/antgoods/goods']], + ['label' => '后台商品分类', 'url' => ['/antgoods/category']], + ['label' => '前端商品分类', 'url' => ['/antgoods/shopcategory']], + ['label' => '品牌管理', 'url' => ['/antgoods/brand']], + ['label' => '供应商管理', 'url' => ['/antgoods/supplier']], ] ], ['label' => '订单管理', 'url' => '#', 'icon' => 'far fa-list-alt', 'items' => [ - ['label' => '订单列表', 'url' => ['/order/index', 'tag' => 'new']], + ['label' => '订单列表', 'url' => ['/order', 'tag' => 'new']], ] ], ] diff --git a/vendor/iron/grid/GridView.php b/vendor/iron/grid/GridView.php index 5b42816..4f83b4a 100644 --- a/vendor/iron/grid/GridView.php +++ b/vendor/iron/grid/GridView.php @@ -219,13 +219,13 @@ class GridView extends BaseListView
{batch} - 添加 + 添加
@@ -281,14 +281,14 @@ HTML; throw new InvalidConfigException('The "formatter" property must be either a Format object or a configuration array.'); } $this->pager = [ - 'options'=>['class'=>['justify-content-end','pagination']], - 'linkOptions'=>['class'=>'page-link'], - 'pageCssClass'=>'paginate_button page-item', - 'disabledPageCssClass'=>'page-link disabled', - 'firstPageLabel'=>'«', - 'prevPageLabel'=>'‹', - 'nextPageLabel'=>'›', - 'lastPageLabel'=>'»',]; + 'options' => ['class' => ['justify-content-end', 'pagination']], + 'linkOptions' => ['class' => 'page-link'], + 'pageCssClass' => 'paginate_button page-item', + 'disabledPageCssClass' => 'page-link disabled', + 'firstPageLabel' => '«', + 'prevPageLabel' => '‹', + 'nextPageLabel' => '›', + 'lastPageLabel' => '»',]; $this->initColumns(); } @@ -445,6 +445,8 @@ SCRIPT; return $this->renderFilter(); case '{batch}': return $this->renderBatch(); + case '{url}': + return Yii::$app->request->url; default: return false; } diff --git a/vendor/iron/widgets/Menu.php b/vendor/iron/widgets/Menu.php index 4da4c21..f4d2a66 100644 --- a/vendor/iron/widgets/Menu.php +++ b/vendor/iron/widgets/Menu.php @@ -36,7 +36,7 @@ use yii\helpers\Url; * 参照yii\widgets\Menu,根据AdminLTE样式从写的一个小物件 * @author Blobt * @email 380255922@qq.com - * 使用例子 + * 使用例子 * [ @@ -50,10 +50,11 @@ use yii\helpers\Url; * ] * ]); * ?> - * - * + * + * */ -class Menu extends Widget { +class Menu extends Widget +{ /** * @var array 菜单的item数组。 @@ -132,8 +133,8 @@ class Menu extends Widget { public $options = [ 'class' => 'nav nav-pills nav-sidebar flex-column', 'data-widget' => 'treeview', - 'role'=>'menu', - 'data-accordion'=>'false' + 'role' => 'menu', + 'data-accordion' => 'false' ]; /** @@ -164,7 +165,8 @@ class Menu extends Widget { /** * 渲染菜单 */ - public function run() { + public function run() + { if ($this->route === null && Yii::$app->controller !== null) { $this->route = Yii::$app->controller->getRoute(); } @@ -186,7 +188,8 @@ class Menu extends Widget { * @param array $items * @return string 渲染结果 */ - protected function renderItems($items) { + protected function renderItems($items) + { $lines = []; $n = count($items); foreach ($items as $i => $item) { @@ -234,7 +237,8 @@ class Menu extends Widget { * @param array $item * @return string 渲染结果 */ - protected function renderItem($item) { + protected function renderItem($item) + { if (isset($item['url'])) { if (isset($item['template'])) { $template = $item['template']; @@ -244,7 +248,7 @@ class Menu extends Widget { return strtr($template, [ '{url}' => Html::encode(Url::to($item['url'])), '{label}' => Html::encode($item['label']), - '{class}'=>isset($item['active'])?'active':'', + '{class}' => isset($item['active']) ? 'active' : '', '{icon}' => Html::encode($item['icon']) ]); } @@ -253,7 +257,7 @@ class Menu extends Widget { return strtr($template, [ '{label}' => $item['label'], - '{class}'=>isset($item['active'])?'active':'' + '{class}' => isset($item['active']) ? 'active' : '' ]); } @@ -262,21 +266,31 @@ class Menu extends Widget { * @param $item array * @return boolean $item */ - protected function isItemActive($item) { + protected function isItemActive($item) + { if (isset($item['url']) && is_array($item['url']) && isset($item['url'][0])) { $route = Yii::getAlias($item['url'][0]); - if ($route[0] !== '/' && Yii::$app->controller) { $route = Yii::$app->controller->module->getUniqueId() . '/' . $route; } - if (ltrim($route, '/') !== $this->route) { + $route = ltrim($route, '/'); + if ($route != substr($this->route, 0, strrpos($this->route, '/')) && $route != $this->route && + ltrim(Yii::$app->request->url, '/') !== $route) { + return false; } + unset($item['url']['#']); + if (count($item['url']) > 1) { + foreach (array_splice($item['url'], 1) as $name => $value) { + if ($value !== null && (!isset($this->params[$name]) || $this->params[$name] != $value)) { + return false; + } + } + } return true; } - return false; } @@ -285,7 +299,8 @@ class Menu extends Widget { * @param string $item * @param bool $active */ - protected function normalizeItems($items, &$active) { + protected function normalizeItems($items, &$active) + { foreach ($items as $i => $item) { /* 去除visible 为 false的item */ if (isset($item['visible']) && !$item['visible']) {