HTML tagy ve výpisu flashMessage + escapování
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- AlesMenzel
- Člen | 13
Ahoj, řeším výpis html tagů v šabloně. Vyzkoušel jsem navrhované způsoby (noescape a escape|noescape), ale problém je v tom, když bude $entry['email] například JS kód, tak se normálně provede (což je nežádoucí). Existuje v nette způsob jak escapovat již data, která posílám do šablony (něco jako html_special_chars() / mysqli_escape_string()) ?
Cíl: Ve flashMessage zvýraznit některou část textu (viz. kod):
<?php
$this->flashMessage(
sprintf(
_('User with email %s is already registered.'),
Html::el()->setHtml('<strong>' . $entry['email'] . '</strong>')
)
);
?>
latte šablona
<?php
{$flash->message}
?>
- David Matějka
- Moderator | 6445
Zrovna predevcirem o tom povidal na phplive @spaze :)
$this->flashMessage(
Html::el()
->add('User with email ')
->add(Html::el('strong')->setText($entry['email']))
->add(' is already registered.')
);
dulezity je to setText, ktere v podstate akorat aplikuje htmlspecialchars