Refresh stranky po akci ktera jen meni data
- kerimek
- Člen | 5
Ahoj,
rád bych poprosil o radu ohledně následujícího.
Stránka-1
- na té stránce mám odkaz (http://mojedomena.cz/…ry/favourite?…), pomocí kterého si objekt uložím/smažu do/z oblíbených.
- ta akce jen meni data v DB a nic konkretniho nema vykreslovat.
Stránka-2
- zde je úplně to samé
V presenteru mam akci „renderFavourite(storyId, userId)“ ve které po zápisu dat potřebuju refreshnout tu danou stránku, kde se na odkaz kliklo. Momentálně redirectuju na homepage, což je nanic.
PROBLÉM:
- podle toho, ze které stránky byl odkaz volán, tak tu stránku bych potom potřeboval refreshnout, aby se změna dat projevila. Ale nevím jak na tu danou stránku udělat redirect, nebo něco podobného.
Díky za radu,
Mirek
- David Matějka
- Moderator | 6445
Pouzij signaly,
ne render metodu. pote jen zavolej $this->redirect('this')
- kerimek
- Člen | 5
David Matějka napsal(a):
Pouzij signaly, ne render metodu. pote jen zavolej
$this->redirect('this')
Tak jsem to zkusil a funguje to.
Jen mam problem s tim … pokud jsem to dobre pochopil … signal se musi jmenovat „handle<metoda, ktera vykresluje view>“.
Renderovaci metoda je „renderListView“ – ta vypisuje seznam
polozek.
U mne je jmeno signalu „handleListView“ – v mem pripade to ulozi/smaze
polozku v oblibenych v DB … obsah funkce neodpovida jejimu nazvu.
Pokud bych chtel pridat dalsi signal na teto strance, uz nemam jak … nazev
signalu „handleListView“ je obsazeny.
Je to tak?
Dik, M.
- David Matějka
- Moderator | 6445
ne, ten signal se muze jmenovat jak chces. a signal neni vazany na zadnou akci, muze byt spusten z jakekoliv akce presenteru
- kerimek
- Člen | 5
Šaman napsal(a):
Tady je ukázka různých metod presenteru. Rozdíl mezi
render
aaction
je jen v tom, že action se provede dříve a je možné v ní např. upravovat objekty vytvořené továrničkou (v tomto případě nastavit výchozí hodnoty formuláře).
OK, vyzkousel jsem a fungiruje to jedna basen.
Diky moc.