Jak vložit do flash message odkaz?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kloban
Člen | 123
+
0
-

Našel jsem řešení zde:
https://forum.nette.org/…i-utils-html

Ale nefunguje mi. Nevygeneruje se html odkaz, znaky (<,>) jsou escapovené. Jak se to teda nejlépe řeší?

Pochopil jsem, že je tedy nutno vypnou escapování. Jak to u flashMessage mohu udělat?

Díky

David Matějka
Moderator | 6445
+
0
-

Html::el() by fungovat melo.. ukaz, jak to presne pouzivas

James
Člen | 54
+
0
-

kloban napsal(a):

Našel jsem řešení zde:
https://forum.nette.org/…i-utils-html

Ale nefunguje mi. Nevygeneruje se html odkaz, znaky (<,>) jsou escapovené. Jak se to teda nejlépe řeší?

Pochopil jsem, že je tedy nutno vypnou escapování. Jak to u flashMessage mohu udělat?

Díky

Pokud ti jde o vypnutí escapování u flash message, asi bych volil tento způsob

<div n:foreach="$flashes as $flash">
	{$flash->message|noescape}
</div>
kloban
Člen | 123
+
0
-

V kódu to mám takto:

$zprava = Html::el('a', 'ANO, zaplatit')->href($this->link('Objednavka:odchod', $id_objednavka));
$this->flashMessage("Objednávka obsahuje nevyřízené položky (".$nevyrizenePolozky."). Chcete přesto zaplatit? ".$zprava);

Editoval kloban (5. 5. 2014 19:18)

David Matějka
Moderator | 6445
+
+1
-

to je spatne, ten Html objekt se ti hned prevede na string, aby se to mohlo spojit s jinym stringem… udelej neco jako

$link = Html::el('a', 'ANO, zaplatit')->href($this->link('Objednavka:odchod', $id_objednavka));
$message = Html::el();
$message->add("Objednávka obsahuje nevyřízené položky (".$nevyrizenePolozky."). Chcete přesto zaplatit? ");
$message->add($link);
$this->flashMessage($message);
kloban
Člen | 123
+
0
-

Díky za radu!