Hallo Kirk,
Code: Alles auswählen
$this->pagination->generate_template_pagination = $this->helper->route('kirk_bbcodes_page');
$pagination_url = $this->helper->route('kirk_bbcodes_page');
ist so nicht für Extensions vorgesehen.
Wenn müsstest du diesen Code verwenden:
Code: Alles auswählen
$pagination = $this->phpbb_container->get('pagination');
$pagination->generate_template_pagination(
array(
'routes' => array(
'kirk_bbcodes_page',
'kirk_bbcodes_page',
),
'params' => array(),
), $this->helper->route('kirk_bbcodes_page') . 'pagination', 'start', $total_bbcodes, $this->config['bbcodes_per_page'], $start);
Wobei ich jetzt hoffe, nichts vergessen zu haben.
Hinter "params" kannst du noch weitere Parameter einfügen, wenn du die verwenden willst. Ansonsten die Zeile einfach weg lassen.
Ggf. macht es auch Sinn, den Codeblock mittels Bedingung zu überspringen.
Also nur auszulösen bei
Code: Alles auswählen
if ($total_bbcodes > $this->config['bbcodes_per_page'])
Und zuletzt sind dann diese Zeilen auch überflüssig:
Code: Alles auswählen
'PAGINATION' => $this->pagination->generate_template_pagination($pagination_url, 'pagination', 'start', $total_bbcodes, $this->config['bbcodes_per_page'], $start),
'PAGE_NUMBER' => $this->pagination->on_page($total_bbcodes, $this->config['bbcodes_per_page'], $start),
Zuletzt noch ein Hinweis:
Es kann eher sein, dass $start die "Seitenzahl" beinhaltet, die aufzurufen ist.
Daher wäre diese umzurechnen, da ja nicht z. B. Seite 2 = Datensatz 2 ist sondern ggf. Datensatz 16 (bei 15 Sätzen je Seite).
Ich hatte das so gelöst:
Code: Alles auswählen
$page_start = max($start - 1, 0) * $this->config['bbcodes_per_page'];
$start = $page_start;
Und somit kann ich $start im Pagination Block durch $page_start ersetzen.
Einfach ausprobieren, was besser klappt.