Odkaz vratit spat vo flash message
- Cars Tomas
- Člen | 43
Ahoj. Ano může použij k tomu \Nette\Utils\Html
$this->flashMessage(\Nette\Utils\Html::el()->setHtml('Text flash message <a href="{odkaz zpet}">zpět</a>.'), 'danger');
- David Matějka
- Moderator | 6445
jen doplním, že je lepší to celé sestavit pomocí Html::el (kvůli escapování atd)
$this->flashMessage(
Html::el()
->addText('Text message ')
->addHtml(Html::el('a')->href('odkaz')->setText('zpet'))
)
- Kamil Valenta
- Člen | 822
Souvisí jen okrajově, ale jen bych se zamyslel nad textací „Vrátit zpět“. Pokud po odeslání formu na mne jako uživatele vybafne flash „vrátit zpět“ s možností kliku, budu mít pocit, že tím udělám rollback toho submitu…
- Tomas8698
- Člen | 109
Nie nie to nemám, to je flasmessage bez classu ajax. A nepoužívam Naja. Tam ono ta funkcia by mala vrátiť zmeny ako bolo predtým než user klikol na button a do databázy uložiť predchádzajúcu verziu. Da sa to spraviť cez flash-message alebo vytvoriť skôr alert, v ktorom userovy dám tuto možnosť? A hodi sa na to skor ajax? alebo bez ajaxu to spravit?
Editoval Tomas8698 (29. 4. 2021 10:58)
- dakur
- Člen | 493
Nerozumím. Pokud chceš, aby měl uživatel možnost vrátit změny, tak je musíš mít někde uložené. Takže dáš uživateli nějakou možnost (tlačítko nebo něco), kterým tu akci spustí (tj. bude to odkazovat na nějaký presenter nebo signal).
Jestli to má být asynchronní nebo ne asi není úplně otázka best-practice, ale spíš tvé konkrétní aplikace, aby to v ní dávalo smysl.
Editoval dakur (29. 4. 2021 11:11)
- Tomas8698
- Člen | 109
Ono to je CMS, kde užívateľ upraví určitú podstránku a do databazy sa uloží každá úprava stránky ukladám si to podlá id_version, a históriu uprav si vypisujem na ďalšej podstránke ktorá spadá pod každú konkrétnu stránku, tam mam button vráti zmeny k tejto verzii a po kliknutí zmení na tu verziu, len ide o to že ked user nechtiac klikne chcem mu dát možnosť vrátiť zmeny a na to potrebujem naviazať funkciu ktorá mi vráti zmeny na predošle :) Môžem poslať aj foto pre lepšiu predstavu
- Kamil Valenta
- Člen | 822
Aha, takže to má dělat rollback toho submitu. Myslím, že jsme to tedy
všichni v počátku pochopili „špatně“.
Já bych to ve flashmsg neřešil.
Pokud uživatel klikl na submit omylem, jak říkáš, nic se přece neděje. On
by napřed musel omylem udělat nějaké úpravy a omylem je odeslat. Opravdu se
to bude stávat tak často? A když už, tak píšeš, že má někde možnost
revertovat v historii změn.
Druhý případ je, že udělá změny záměrně, záměrně je submitne, pak
se podívá na frontend a změny se mu nebudou líbit. Pak už ale
pravděpodobně stejně tu flashmsg neuvidí a opět bude revertovat
v historii změn.
- Tomas8698
- Člen | 109
Posielam aj obrazky ako to vyzera : https://github.com/tommy8699/Nette
A ano presne ja na podstranke history volam funkciu revertVersion(), ktora
mi spravi update v tabulke co sa zobrazuje a insert novej verzie do tabulky
pages_history a potom ma presmeruje na podstranku edit kde uz sa hodnoty zmenie
podla verzie :)
A ja by som potreboval aby ked klikne na link vratit spat tak ho presmeruje
naspat na history a zavola funkciu ktora vyberie predchadzajucu verziu( funkciu
uz mam)
@KamilValenta a že skor by si to cez alert?, ono teraz ako vidiet na fotke tak je tam nejaku chvilu flashmessage a potom zmizne. A tak často by to nemalo, len som to chcel nejak pokryt ak by nahodou :)
Editoval Tomas8698 (29. 4. 2021 12:09)