Ako si overujete pri requeste ze ostavate na rovnakej stranke?
- duskohu
- Člen | 778
Caute, mam taku situaciu ked potrebujem overovat napr. pri volani signalu ci ostavam na rovnakej stranke a ak nie potrebujem urobit nejaku oeraciu napr. vymazat sessionSection. Ide o to ze volat signal mozem priamo v presenteri, alebo signal v komponente presenteru.
Riesenie:
$urlPath = $this->httpRequest->getUrl()->path;
$refererPath = '';
$referer = $this->httpRequest->getReferer();
if ($referer) {
$refererPath = $this->httpRequest->getReferer()->path;
}
if ($urlPath != $refererPath) {
$this->getStorageSection('mySection')->delete();
}
Problem:
- Routu mam >> routa ma <presenter>/<action>[/<id>]
- Signal na presenter je mySignal $id=>18 >> /admin/homepage/default/18
- Signal na komponentu kde nepotrebujem to id tym padom >> /admin/
Ked zavolam signal na komponente a som napr. na Admin:Homepage:default tak:
- $urlPath >> /admin/
- $refererPath >> /admin/
takze vsetko sedi, ale ked zavolam signal na presentri tak:
- $urlPath >> /admin/homepage/default/18
- $refererPath >> /admin/
a tu nastava problem. Ako riesite ked si chcete ponechat nejake nastavenie len pre konkretnu stranku?
Editoval duskohu (14. 1. 2014 11:02)
- thunderbuff
- Člen | 164
A nebylo by lepší místo ověřování, odkud jsi vlastně přišel, udělat dvě rozdílné akce?
Foo:action → redirect→ finální stránka
Admin:Homepage:default → redirect→ action, ve které smažeš storage → redirect → finální stránka
Editoval thunderbuff (20. 1. 2014 14:45)
- duskohu
- Člen | 778
Ani nie :-) lebo ide o komponentu a zase tolko presmerovania to sa mi vobec nepaci, urobil som to tak ze mam persistentni parameter v ktorom mam nejaky hash a ten sa udrziava len pre konkretnu akciu. Tak viem ci som stale na tom istom presentri:akci, alebo uz niekde inde. :-)