Jak řešíte flashmessages v uživatelské sekci, myslím zobrazování z hlediska UI
- mcmatak
- Člen | 504
Už jsem zkoušel hodně způsobů a nic mi pořád nevyhovuje, jak to řešíte?
Obvykle máte dva druhy hlášek info / error.
Pak také potřeba rozlišovat na hlášky, které způsobila stránka jako taková nebo nějaká její komponenta, jako třeba registrace do novinkového zpravodaje.
ERROR
asi hodíte 404ku a shodíte celý web nebo to dáte do contentu (ok mi vyhovuje, když je to fatal tak shodit celý web a rozsvítit 404ku)
pokud to není fatal error, ale třeba jen
Nezadali jste správné jméno do pole registrace novinkového zpravodaje!
co s tím?
- js alert? dost otravné (automaticky to lidé zavírají aniž by to četli) a pro více chyb nevhodné, navíc by se to z hlediska designu nemuselo líbit
- flashmessage na vrchu stránky? to nikdo nečte a půjde dál, zkušenost = 99% lidí si toho ani nevšimne a vlastně nezjistí, že se vůbec nikam nezaregistrovali
- zobrazit někde blízko toho pole, které hlášku vyhazuje? no to design často spíš ani nedovolí, obvykle většina komponent je součástí layoutu ne contentu a není místo pro výpis takových věcí
- některé weby vkládají přechodovou stránku (podobný problém jako alert), efekt je ten že uživatel nepřemýšlí a nechce číst, ale chce rychle pryč (takže opět bez efektu, ale je to asi nejvíce nátlakové, BFU to překvapí, zkušení jde pryč)
INFO
1. byly jste úspěšně přihlášeni, fajn všímat si toho nemusí, když to přehlédne nevadí, stalo se a funguje to, ale co když tam jsou upozornění na další kroky? co když si toho nevšimne a neustále vyplňuje znovu a znovu a je zmatený (velice častá záležitost)
co vy na to?
- 22
- Člen | 1478
…ok, osobně používám vyjížděcí flashMessage pro nějaké success/error info – čili 2, člověka, to zaujme, že se to hýbe a navíc je to jen informace..někdo ji čte, někdo ne, aplikaci je to fuk a může pokračovat dál.
Validace formulářů – když se mi chce, tak live validace, asi nejlepší řešení, pokud ne, tak normálně javascript. A 404 je prostě 404..
- Filip Procházka
- Moderator | 4668
Chyby formulářů patří k formulářům a flashMessages na výrazné místo (nad hlavní obsah, nebo tam kde to dovolí design)
Jinak co se týče chyb, tak záleží jaké a jaká je to aplikace.
- bazo
- Člen | 620
mcmatak napsal(a):
3. zobrazit někde blízko toho pole, které hlášku vyhazuje? no to design často spíš ani nedovolí, >obvykle většina komponent je součástí layoutu ne contentu a není místo pro výpis takových věcí
no tak to je asi slaby desgner, lebo dizajn by mal riesit aj taketo veci
- pawouk
- Člen | 172
No určitě existují naprostý ignoranti, kteří prostě ty zprávy nečtou, ale s tim už se asi nic dělat nedá, já myslim, že jestli nikdo nečte červený text na vrchu stránky, tak se holt nemůže divit, že mu pak něco nejde. Samozřejmě se stránka musí posunout nahoru při chybě (pokud je formulář odeslaný ajaxem). Ale asi nejvíce na očích je ta live validace, proti tomu se snad nedá nic namítat…
- mcmatak
- Člen | 504
- 99% lidí nečte červený text na vrchu stránky (odzkoušeno) / fakt věřte mi
- design a zpráva u komponenty/formuláře, no ale jak jsem říkal přece určitě už jste někdy viděli a to je na většině stránek, že form je zabudovaný v designu! např. takové přihlášení do novinkového zpravodaje, a tam prostě okolo žádnou message nedostanete! prostě není kam
- já se taky přikláním k javascriptu a vyjíždění, už jsem to na pár projektech měl, ale pak jsem to zrušil, nějak mi to nesedělo a blbě se to přenášelo na další projekty (má někdo tip na nějakou takovou utilitu/jquery?)
- Jendaaa
- Člen | 21
Já si myslím že je to celkem jednoduché – pokud vznikají chyby které se mají zobrazit uživateli, musí se tomu přizpůsobit design už od začátku. Že se to tam zkrátka nevejde, to už je pozdě. Pokud se uživateli chyby zobrazovat nemají, pak by měla být aplikace natolik „inteligentní“, aby si s chybou poradila sama.
- stekycz
- Člen | 152
Osobně jsem to zatím vždy řešil zobrazením nad contentem. Nicméně ohledně designu, relativně nedávno jsem narazil na knihovnu „Twitter Bootstrap“:„http://twitter.github.com/bootstrap/“. Nejspíš na spoustě webů kvůli designu nepůjde použít, ale různé zprávy mají udělané podle mě hezky.
Ještě k souvislostem s Nette:
Zatím jsem neřešil případ, kdy chci vypisovat zprávy pro jednotlivé
komponenty. Nicméně je možné, aby si každá komponenta držela vlastní
flashMessage? Aby nebyly všechny zprávy v nějaké globální kolekci?
Případně jak to zařídit? Mimo možnosti házet si je do pole :-)
- grogy
- Člen | 147
Vlastní flashMessage si komponenty samostatně drží při dědění \Nette\Application\UI\Control. Takže při vykreslování komponenty se v template mohou použít. Pro předání flashMessage presenteru (tedy globálnímu systému flashMessage) se použilo
$this->presenter->flashMessage($message);
(Mám za to, že to tak je, do nového Nette se teprve pod odmlce dostávám.)
Editoval grogy (20. 1. 2012 9:18)