Нумерация страниц для пользовательской страницы Opencart - PullRequest
0 голосов
/ 25 марта 2019

Я создаю новую страницу и пытался добавить нумерацию страниц, все выглядит нормально и корректно (показывает правильный результат и т. Д.), Но когда я нажимаю следующий номер страницы, содержимое на странице не меняется, но не могу найти то, чтонеправильно, почему нет обновления содержимого на странице

Просмотр:

<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'];
}

1 Ответ

0 голосов
/ 25 марта 2019

Попробуйте следовать этому коду в файле контроллера.Я думаю, вы пропустили переменную $ 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')));

...