Здравствуйте, я занимаюсь разработкой модуля Paytanet PrestaShop. Я хотел бы перечислить все транзакции и сделал это с помощью класса Helper List, я установил опцию paggination, но paggination не работает правильно. Внизу показано разбиение на страницы, как 1..2..4 страниц, но список всех транзакций. Это часть кода из метода списка помощников рендера.
$helper = new HelperList();
$helper->show_toolbar = false;
$helper->no_link = true;
$helper->_pagination = array(10, 20, 50, 100, 200);
$content = $this->getCancelRows();
$helper->listTotal = count($this->getCancelRows());
return $helper->generateList($content, $this->fields_list);
Спасибо за помощь! Мне жаль, если я задаю повторный вопрос, но мое исследование заканчивается неудачей. Ура!
Я нашел решение этой проблемы. Просто необходимо добавить функциональность для разбивки результата. Если у кого-то есть подобная проблема. Ниже я вставляю рабочий код.
public function initList() {
$content = $this->getCancelRows();
$helper->listTotal = count($this->getCancelRows());
/* Paginate the result */
$page = ($page = Tools::getValue('submitFilter' . $helper->table)) $page : 1;
$pagination = ($pagination = Tools::getValue($helper->table . '_pagination')) ? $pagination : 10;
$content = $this->paginate_content($content, $page, $pagination);
return $helper->generateList($content, $this->fields_list);
}
public function paginate_content($content, $page = 1, $pagination = 10){
if (count($content) > $pagination) {
$content = array_slice($content, $pagination * ($page - 1), $pagination);
}
return $content;
}
Других решений пока нет …