$component->link(‚this‘) a Paginator $page na 1
- japlavaren
- Člen | 404
ahoj,
mam komponentu ktora mi vykresluje listing a v nej formular, ktorym je mozne
nastavit podla coho zoradovat.
moj problem je, ze potrebujem formularu nastavit action na this, ale aby bola
stranka paginatoru 1 pretoze po zmene typu zoradovania by sa malo strankovanie
logicky vyresetovat a ist od zaciatku
<?php
protected function createComponentSort()
{
$form = new Forms\Form();
$form->setMethod('get');
$form->setAction($this->link('this'));
$form->setTranslator($this->translator);
$form->addSelect('sort', 'Order by', $this->sortOptions)
->setDefaultValue($this->sort);
$form->addSubmit('submit', 'Sort');
return $form;
}
?>
problem je, ze ->link(‚this‘) vklada i aktualnu hodnotu paginatora a tej sa neviem zbavit (pretoze paginator je ako dalsia komponenta) – napada niekoho, ako na to?
- Zax
- Člen | 370
Za předpokladu že komponentu paginator máš v aktuální komponentě a v tom paginatoru máš persistent parametr „page“ by to mělo jít normálně takto:
$this->link('this', array('paginator-page' => 1));
Pokud je paginator v nadřazené komponentě, tak musíš tvořit link z parentu:
$this->getParent()->link('this', array('paginator-page' => 1));
Nebo můžeš i přes presenter
$this->getPresenter()->link('this', array('path-to-paginator-page' => 1));
(kde path-to-paginator je cesta k paginatoru v komponent modelu)
Editoval Zax (12. 8. 2014 0:02)