From 7b680ff619d9e9ea46166d68ffd4594461d8308e Mon Sep 17 00:00:00 2001 From: Anyon Date: Wed, 13 Sep 2017 10:45:30 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=9B=B4=E6=96=B0]=E4=BF=AE=E5=A4=8D=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E6=97=B6=EF=BC=8C=E5=88=86=E9=A1=B5=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E7=A9=BA=E6=A0=BC=E5=AD=97=E7=AC=A6=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extend/controller/BasicAdmin.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/extend/controller/BasicAdmin.php b/extend/controller/BasicAdmin.php index 8830b35bf..88636ee94 100644 --- a/extend/controller/BasicAdmin.php +++ b/extend/controller/BasicAdmin.php @@ -81,9 +81,10 @@ class BasicAdmin extends Controller * @param bool $isPage 是启用分页 * @param bool $isDisplay 是否直接输出显示 * @param bool $total 总记录数 + * @param array $result * @return array|string */ - protected function _list($dbQuery = null, $isPage = true, $isDisplay = true, $total = false) + protected function _list($dbQuery = null, $isPage = true, $isDisplay = true, $total = false, $result = []) { $db = is_null($dbQuery) ? Db::name($this->table) : (is_string($dbQuery) ? Db::name($dbQuery) : $dbQuery); // 列表排序默认处理 @@ -102,15 +103,12 @@ class BasicAdmin extends Controller $fields = $db->getTableFields($db->getTable()); in_array('sort', $fields) && $db->order('sort asc'); } - $result = []; if ($isPage) { $rows = intval($this->request->get('rows', cookie('rows'))); cookie('rows', $rows >= 10 ? $rows : 20); - $page = $db->paginate($rows, $total, ['query' => $this->request->get()]); - $result['list'] = $page->all(); - $pattern = ['|href="(.*?)"|', '|pagination|']; - $replacement = ['data-open="$1" href="javascript:void(0);"', 'pagination pull-right']; - $result['page'] = preg_replace($pattern, $replacement, $page->render()); + $page = $db->paginate($rows, $total, ['query' => $this->request->get('', '', 'urlencode')]); + list($pattern, $replacement) = [['|href="(.*?)"|', '|pagination|'], ['data-open="$1"', 'pagination pull-right']]; + list($result['list'], $result['page']) = [$page->all(), preg_replace($pattern, $replacement, $page->render())]; } else { $result['list'] = $db->select(); }