n:makro „helper“ // šlo by to?
- ic
- Člen | 430
Potřeboval jsem takhle odstranit bílé znaky z určitého elementu… dokumentace mi poradila asi toto:
<div>
{block|strip}
<ul>
<li>Hello</li>
</ul>
{/block}
<div>
tak jsem automaticky zapsal toto:
<div n:helper="strip">
<ul>
<li>Hello</li>
</ul>
<div>
a nic :)
Nebylo by užitečné mít n:makro ‚helper‘ ?
Nevím jestli už se to tady neprobíralo, google mi s výrazem „n:helper“
moc nepomůže, tak nevím jestli to už není Déjà vu .
Trošku nepřehledné by to bylo u složitějších helperů viz:
<div title="datum">{$datum|date:"%d.%m.%Y"}</div>
<div title="datum" n:helper="date:'%d.%m.%Y'">1234567890</div>
ale přežít se to dá.
Co myslíte?
- uestla
- Backer | 799
Taky se mi to místy už párkrát hodilo, asi by ani nebylo těžké si to do maker přidat…
Ale když už, tak bych zůstal věrný zaběhnutému systému, čili
n:
makro aplikovat na celý element, u něhož je
uveden, a n:inner-
makro na jeho obsah.
Čili
n:helper
an:inner-helper
možná?
Ještě vymyslet řetězení helperů a předávání argumentů (možná by šlo zachovat současnou pajpu pro řetěz a dvojtečku pro argumenty) a bude to připraveno pro konzumaci.
- bojovyletoun
- Člen | 667
šlo:
public function templatePrepareFilters($template)
{
$template->registerFilter($e = new Nette\Latte\Engine());
$s = new Nette\Latte\Macros\MacroSet($e->parser);
$s->addMacro('helper', 'ob_start()',
function($n) {
$w = new \Nette\Latte\PhpWriter($n->tokenizer, $n->args);
return $w->write('echo %modify(ob_get_clean())');
});
}
Editoval bojovyletoun (21. 9. 2011 14:11)