Pagination – proměnná s pomlčkou

vosy
Člen | 525
+
0
-

Ahoj, zkouším udělat stránkování pomocí Pagination.

Na Pagination mám vytvořenou továrničku a v šabloně mám pro vytvoření url toto

<a href="{link this, 'page' => $i}">{$i}</a>

což vytvoří proměnnou „pagination-page“

Aby se mi dělala hezká url tak v routě mám:

$router->addRoute('admin/emaily/[<pagination-page>]', 'Admin:Emaily:seznam');

nevím jak se dostat k proměnné „pagination-page“ v presenteru.



tohle

public function actionSeznam($pagination-page)
    {

je asi špatně

Pavel Kravčík
Člen | 1182
+
0
-

$paginationPage

vosy
Člen | 525
+
0
-

to mě právě moc nešlo, zkusím znova

→ nic to nevypíše, je to prázdný

Editoval vosy (10. 10. 2022 8:46)

Marek Bartoš
Nette Blogger | 1172
+
0
-

Odkazy v tomhle fungují podobně jako volání funkcí. Buď se spoléháš na numerické pořadí, nebo na názvy. V odkazu, routě i akci se musí proměnná jmenovat stejně.

Též v názvu nikdy nepoužívej pomlčku. Používá se pro přístup ke komponentám hlouběji ve stromu. Pokud tedy nechceš v routě generovat odkaz specifický právě pro parametr (handleru) komponenty, v routě by pak pomlčka smysl dávala

Editoval Marek Bartoš (10. 10. 2022 8:58)

vosy
Člen | 525
+
0
-

no právě ten odkaz je generovaný v komponentě „PaginationControl“

v šabloně komponenty

<a href="{link this, 'page' => $i}">{$i}</a>

z toho „page“ se právě vytvoří proměnná „pagination-page“

ale neví m jak se k ní mám dostat v presenteru abych věděl na jaké jsem stránce. díky

Lumeriol
Generous Backer | 58
+
+2
-

vosy napsal(a):

no právě ten odkaz je generovaný v komponentě „PaginationControl“

v šabloně komponenty

<a href="{link this, 'page' => $i}">{$i}</a>

z toho „page“ se právě vytvoří proměnná „pagination-page“

ale neví m jak se k ní mám dostat v presenteru abych věděl na jaké jsem stránce. díky

Zkus to tak, jak ti radil @PavelKravčík

Sablona komponenta:

<a href="{link this, 'paginationPage' => $i}">{$i}</a>
// nebo
<a href="{link Admin:Emaily:seznam, 'paginationPage' => $i}">{$i}</a>

nebo viz Odkazy v komponente

<a href="{plink :Admin:Emaily:seznam, 'paginationPage' => $i}">{$i}</a>

Router:

$router->addRoute('admin/emaily/[<paginationPage>]', 'Admin:Emaily:seznam');

Presenter:

public function actionSeznam(?int $paginationPage = null)
vosy
Člen | 525
+
+1
-

@Lumeriol žjooo, tak ty seš fakt nejlepší, díky.