Možnost generovat html z helperu

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

Zdravím,

napsal jsem si helper pro převod textu v Texy! formátu na HTML (prostě aplikování Texy! na text). Problém je v tom, že výstup se mi automaticky převede na HTML enity, čímž to je samozřejmě nepoužítelné.

Helper:

	protected function createTemplate($class = NULL) {
		$template = parent::createTemplate();

		$template->registerHelper('texy', callback(new Texy(), 'process'));
		return $template;
	}

Ukázka použití:

	<td>{$row->col1|texy}</td>

$row je ActiveRow.

Jak zařídít, aby zůstal výstup z helperu v HTML a nepřeváděl se na entity?

Používám PHP 5.3 a Nette 2.0.1.

Děkuji!

Ot@s
Backer | 476
+
0
-
<td>{!$row->col1|texy}</td>
jakubka
Člen | 2
+
0
-

To je ono, dík!

duke
Člen | 650
+
0
-

Pokud bys chtěl, aby to neescapovalo automaticky, stačí místo řetězce vracet Nette\Utils\Html. Tj. takto:

$template->registerHelper('texy', function ($s) use ($texy) {
	return Nette\Utils\Html::el()->setHtml($texy->process($s));
});

Editoval duke (25. 4. 2012 1:09)