formatovaní flash message

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
masterr
Začátečník | 141
+
0
-

Dá se nějak vypnout htmlspecialchars ve $flash->message?Jak? Potřebuju tu zprávu ostylovat…

redhead
Člen | 1313
+
0
-

Proč to neostyluješ v šabloně? Do message by měla jít pouze jenom ta zpráva, html by tam rozhodně nemělo co dělat.

Editoval redhead (4. 10. 2010 22:03)

Nilp
Člen | 65
+
+1
-

V šabloně můžeš text zprávy vypsat jako {!$flash->message}. IMHO jsou flashMessages dobrým kandidátem na Texy syntaxi.

_Martin_
Generous Backer | 679
+
0
-

Já bych spíš toto řešil nějakým typem zprávy a dodatečnými parametry (oboje již funguje). Přeci jen by logika, která zprávu vytváří, neměla mít páru o tom, jak bude zpráva prezentována.

Jan Endel
Člen | 1016
+
0
-

Tam to naráží trošku na licenci, asi by s tím byl problém. Navíc na tohle se už delší dobu používá něco takového:
<div class='{$flash->type}'>{$flash->message}</div> a pak už si s tím za pomocí CSS můžeš dělat psí kusy. Navíc použití vykřičníku v šablonách je spíše taková záchranná brzda, kdy už to fakt jinak nejde(dělá to díru do aplikace). Sice v tomhle případě kdy flash->message naplno kontroluješ by to nemuselo až tak vadit, ale stačí trocha nepozornosti a k message appendnout uživatelský vstup a do aplikace ti tím právě najel BT

Ondřej Brejla
Člen | 746
+
0
-

Na jakou licenci…?

Jan Endel
Člen | 1016
+
0
-

Tak Texy se musí (možná se pletu), při použití na projektech pro třetí osoby, platit nebo je to jináč?

Jan Endel
Člen | 1016
+
0
-

Tak se omlouvám, zmínku o licenci beru zpět.

masterr
Začátečník | 141
+
0
-

No ja potrebuji jen odradkovat a zvyraznit pro prehlednost, ne primo ostylovat cely block. <br />

Jan Endel
Člen | 1016
+
0
-

do $flash->message vazne patri jen text, zbytek cpi do sablony:

{foreach $flash->message as $message}
<div class="message">{$message}</div>
{/foreach}

a mas odradkovani :-)

Nilp
Člen | 65
+
0
-

Nechápeš to, jde o formátování obsahu zprávy, např. zvýraznit jméno přidaného uživatele.

22
Člen | 1478
+
0
-

nestačí jen vypnout escapovani vykřičníkem?

$message = "bla bla <span class="jmeno">$name</span>";
{foreach $flash->message as $message}
{!$message}
{/foreach}

Editoval 22 (5. 10. 2010 21:28)

_Martin_
Generous Backer | 679
+
0
-

@22: Mrkni, co psal @.

Jinak – ne že bych s tím souhlasil – ale možností je předat do message objekt NHtml.

22
Člen | 1478
+
0
-

…tomu příspěvku moc nerozumím, ale jemu se jedná o ostylování jen nějaké častí ve flash message a to mu <div> na celej msg moc nepomůže. Třídu flash zprávy si můžu předat jako druhý parametr do šablony.
btw, jak přidám HTML objekt do flash message?

westrem
Člen | 398
+
0
-

22 napsal(a):

…tomu příspěvku moc nerozumím, ale jemu se jedná o ostylování jen nějaké častí ve flash message a to mu <div> na celej msg moc nepomůže. Třídu flash zprávy si můžu předat jako druhý parametr do šablony.
btw, jak přidám HTML objekt do flash message?

// v metode presenteru
$this->flashMessage(Html::el('p', 'Your message'), 'info');
22
Člen | 1478
+
0
-

jn, to jsem nevěděl, že to jde, ale pořád to neřeší problém, když chci ostylovat něco uprostřed flashmessage:
Lorem ipsum dolor sit amet, consectetur adipiscing elit

iguana007
Člen | 970
+
0
-

Pročti si toto: https://doc.nette.org/…tml-elements – imho je to přesně to co hledáš.