From 6eb4df6a0d17b6a14e99372ee1608642506291d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=83=A0=E8=BE=BE=E6=B5=AA?= Date: Sun, 31 Mar 2019 16:06:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=86=E7=B1=BB=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E6=94=AF=E6=8C=81ids=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/portal/service/ApiService.php | 10 +++++++--- app/portal/taglib/Portal.php | 7 ++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/portal/service/ApiService.php b/app/portal/service/ApiService.php index 4e0f4b6..410a9ef 100644 --- a/app/portal/service/ApiService.php +++ b/app/portal/service/ApiService.php @@ -419,11 +419,15 @@ class ApiService 'delete_time' => 0, ]; - return $portalCategoryModel + $temp = $portalCategoryModel ->where($where) ->where($paramWhere) - ->order($order) - ->select(); + ->order($order); + + if (!empty($param['ids'])) { + $temp->whereIn('id', $param['ids']); + } + return $temp->select(); } /** diff --git a/app/portal/taglib/Portal.php b/app/portal/taglib/Portal.php index d1a13b6..1eabb85 100644 --- a/app/portal/taglib/Portal.php +++ b/app/portal/taglib/Portal.php @@ -22,7 +22,7 @@ class Portal extends TagLib 'articles' => ['attr' => 'field,where,limit,order,page,relation,returnVarName,pageVarName,categoryIds', 'close' => 1],//非必须属性item 'tagarticles' => ['attr' => 'field,where,limit,order,page,relation,returnVarName,pageVarName,tagId', 'close' => 1],//非必须属性item 'breadcrumb' => ['attr' => 'cid', 'close' => 1],//非必须属性self - 'categories' => ['attr' => 'where,order', 'close' => 1],//非必须属性item + 'categories' => ['attr' => 'ids,where,order', 'close' => 1],//非必须属性item 'subcategories' => ['attr' => 'categoryId', 'close' => 1],//非必须属性item 'allsubcategories' => ['attr' => 'categoryId', 'close' => 1],//非必须属性item ]; @@ -236,7 +236,11 @@ parse; { $item = empty($tag['item']) ? 'vo' : $tag['item'];//循环变量名 $order = empty($tag['order']) ? '' : $tag['order']; + $ids = empty($tag['ids']) ? '' : $tag['ids']; $returnVarName = 'portal_categories_data'; + if (strpos($ids, '$') === 0) { + $ids = $this->autoBuildVar($ids); + } $where = '""'; if (!empty($tag['where']) && strpos($tag['where'], '$') === 0) { $where = $tag['where']; @@ -247,6 +251,7 @@ parse; \${$returnVarName} = \app\portal\service\ApiService::categories([ 'where' => {$where}, 'order' => '{$order}', + 'ids' => {$ids} ]); ?> -- Gitee