Ticket #1008 (closed 改善提案: 修正済)
ページ送りの取得の処理が冗長じゃないでしょうか
| Reported by: | kimoto | Owned by: | somebody |
|---|---|---|---|
| Priority: | 中 | Milestone: | EC-CUBE2.11.0 リファクタリングProject |
| Component: | その他 | Version: | 2.11.0 β |
| Keywords: | Cc: | ||
| 修正済み: | no |
Description
いたるところで
//ページ送り用
if (isset($_POST['pageno'])) {
$this->tpl_pageno = htmlspecialchars($_POST['pageno'], ENT_QUOTES, CHAR_CODE);
}
$col = "order_id, create_date, payment_id, payment_total";
$from = "dtb_order";
$where = "del_flg = 0 AND customer_id=?";
$arrval = array($objCustomer->getvalue('customer_id'));
$order = "order_id DESC";
$linemax = $objQuery->count($from, $where, $arrval);
$this->tpl_linemax = $linemax;
// ページ送りの取得
$objNavi = new SC_PageNavi($this->tpl_pageno, $linemax, SEARCH_PMAX, "fnNaviPage", NAVI_PMAX);
$this->tpl_strnavi = $objNavi->strnavi; // 表示文字列
$startno = $objNavi->start_row;
// 取得範囲の指定(開始行番号、行数のセット)
$objQuery->setLimitOffset(SEARCH_PMAX, $startno);
// 表示順序
$objQuery->setOrder($order);
//購入履歴の取得
$this->arrOrder = $objQuery->select($col, $from, $where, $arrval);
こんな処理をしていますが、
$objNavi = new SC_PageNavi($this->tpl_pageno, $this->getOrderData, SEARCH_PMAX, "fnNaviPage", NAVI_PMAX);
こんな感じでページングも検索結果も一度に表示できるように出来ないものでしょうか
Change History
Note: See
TracTickets for help on using
tickets.

//ページ送り用 $this->objNavi = new SC_PageNavi($_REQUEST['pageno'], $this->lfGetOrderHistory($customer_id), SEARCH_PMAX, "fnNaviPage", NAVI_PMAX, 'pageno=#page#', SC_Display::detectDevice() !== DEVICE_TYPE_MOBILE); $this->arrOrder = $this->lfGetOrderHistory($customer_id, $this->objNavi->start_row);これでページング、結果表示が出来るようにはしてみました。 これ以上はSC_PageNavi自体を書き直さないとつらいですね