Ticket #1008 (closed 改善提案: 修正済)

Opened 11 years ago

Last modified 9 years ago

ページ送りの取得の処理が冗長じゃないでしょうか

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

comment:1 Changed 11 years ago by kimoto

  • Status changed from new to closed
  • Resolution set to 修正済
        //ページ送り用
        $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自体を書き直さないとつらいですね

comment:2 Changed 9 years ago by kim

  • 修正済み unset
  • Milestone set to EC-CUBE2.11.0 リファクタリングProject
Note: See TracTickets for help on using tickets.