自定义页面Opencart的分页

问题描述 投票:0回答:1

我创建了一个新的页面,并试图添加分页,所有看起来都很好和正确(显示正确的结果等)但当我点击页面上的下一页数字内容没有改变仍然相同我找不到有什么不对的原因刷新页面上的内容

视图:

<div class="row">
  <div class="col-sm-6 text-left">{{ pagination }}</div>
  <div class="col-sm-6 text-right">{{ results }}</div>
</div>

控制器:

$ftotal_orders = $this->model_sale_order->getTotalFastOrders();

if (isset($this->request->get['page'])) {
  $page = $this->request->get['page'];
} else {
  $page = 1;
}

$url = '';

if ($order == 'ASC') {
  $url .= '&order=DESC';
} else {
  $url .= '&order=ASC';
}

if (isset($this->request->get['page'])) {
  $url .= '&page=' . $this->request->get['page'];
}

$pagination = new Pagination();
$pagination->total = $ftotal_orders;
$pagination->page = $page;
$pagination->limit = $this->config->get('config_limit_admin');
$pagination->url = $this->url->link('sale/FastOrder', 'user_token=' . $this->session->data['user_token'] . $url . '&page={page}', true);

$data['pagination'] = $pagination->render();
$data['results'] = sprintf($this->language->get('text_pagination'), ($ftotal_orders) ? (($page - 1) * $this->config->get('config_limit_admin')) + 1 : 0, ((($page - 1) * $this->config->get('config_limit_admin')) > ($ftotal_orders - $this->config->get('config_limit_admin'))) ? $ftotal_orders : ((($page - 1) * $this->config->get('config_limit_admin')) + $this->config->get('config_limit_admin')), $ftotal_orders, ceil($ftotal_orders / $this->config->get('config_limit_admin')));

模型:

public function getTotalFastOrders() {
    $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "fast_order");

    return $query->row['total'];
}
php mysql opencart
1个回答
0
投票

尝试在Controller文件中遵循此代码。我认为你在检索数据时缺少$ filter_data变量。将您的代码与此类别代码进行比较。

    if (isset($this->request->get['page'])) {
        $page = $this->request->get['page'];
    } else {
        $page = 1;
    }

    $url = '';

    if (isset($this->request->get['page'])) {
        $url .= '&page=' . $this->request->get['page'];
    }


    $filter_data = array(
        'start' => ($page - 1) * $this->config->get('config_limit_admin'),
        'limit' => $this->config->get('config_limit_admin')
    );

    $category_total = $this->model_catalog_category->getTotalCategories();

    $results = $this->model_catalog_category->getCategories($filter_data);

    $url = '';

    if ($order == 'ASC') {
        $url .= '&order=DESC';
    } else {
        $url .= '&order=ASC';
    }

    if (isset($this->request->get['page'])) {
        $url .= '&page=' . $this->request->get['page'];
    }


    $pagination = new Pagination();
    $pagination->total = $category_total;
    $pagination->page = $page;
    $pagination->limit = $this->config->get('config_limit_admin');
    $pagination->url = $this->url->link('catalog/category', 'user_token=' . $this->session->data['user_token'] . $url . '&page={page}', true);

    $data['pagination'] = $pagination->render();

    $data['results'] = sprintf($this->language->get('text_pagination'), ($category_total) ? (($page - 1) * $this->config->get('config_limit_admin')) + 1 : 0, ((($page - 1) * $this->config->get('config_limit_admin')) > ($category_total - $this->config->get('config_limit_admin'))) ? $category_total : ((($page - 1) * $this->config->get('config_limit_admin')) + $this->config->get('config_limit_admin')), $category_total, ceil($category_total / $this->config->get('config_limit_admin')));

© www.soinside.com 2019 - 2024. All rights reserved.