Volání storeRequest v BasePresenteru vyvolá smičku
- Croc
- Člen | 270
Zdravím,
potřeboval bych na každé stránce vygenerovat backlink, a umístit jej na
vlastní tlačítko zpět.
Umístil jsem storeRequest do BasePresenteru do startup, ale výsledkem je nekonečná smyčka přesměrování. Jak je to možné?
Je pro toto nějaké řešení?
Díky moc
Editoval Croc (12. 3. 2019 12:20)
- nightfish
- Člen | 519
Croc napsal(a):
Umístil jsem storeRequest do BasePresenteru do startup, ale výsledkem je nekonečná smička přesměrování. Jak je to možné?
storeRequest()
sám o sobě takové chování nezpůsobí.
Nemůže za to třeba kód, který řeší obsluhu tvého tlačítka
Zpět? Bez konkrétního kódu ti víc poradit neumím.
Editoval nightfish (12. 3. 2019 10:52)
- Croc
- Člen | 270
Díky za nasměrování :)
Zdá se, že nakonec vyřešeno takto:
// Base presenter
/**
* @var string|null
* @persistent
*/
public $bl;
/**
* @var string|null
*/
public $bl_new;
//....
public function startup() {
parent::startup();
$this->bl = $this->getParameter("bl");
}
/**
* @return string|null
*/
public function getBackLink(): ?string {
if (empty($this->bl_new)) {
$this->bl_new = $this->storeRequest();
}
return $this->bl_new;
}
/**
* @return string|null
*/
public function getPreviousBackLink(): ?string {
return $this->bl;
}
/**
* @param string|null $bl
*/
public function handleBacklink(?string $bl) {
$this->restoreRequest($bl);
}
Pro tlačítko zpět pak si getnu $bl
parametr metodou
getPreviousBackLink
a pro link na další stránku
getBackLink
.
Editoval Croc (12. 3. 2019 11:56)