Vlastni makro pro upravu HTML
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- JuniorJR
- Člen | 181
Mam dotaz ohledne problemu, ktery se mi nedari vyresit.
Chtel bych dosahnout vytvoreni urciteho makra (v danem pripade se jedna o vypis HTML video tagu), pricemz bych rad umoznil oba nasledujici zapisy:
{video 3} {* vypise <video id="3" ...></video> *}
ekvivalentni s:
<video id="3" n:video="params..." ...></video>
V podstate si to predstavuji tak, ze na vystupem bude Html::el(), ale nedari se mi docilit spravneho chovani (pri pouziti n:video zapisu dojde k vypisu html mimo puvodni element, ktery zustane prazdny).
// obsah makra mam definovan cca takto (%node.word obsahuje ID videa)
$writer->write('echo %escape($myObj->getVideoHtml(%node.word))');
// makro jako takove registruji jako callback (druhy parametr v MacroSet::addMacro(...))
function getVideoHtml($id)
{
$html = Html::el('video', array(
'id' => $id,
... // dalsi defaultni atributy videa (prednost by mely mit ty uvedene primo v HTML sablone)
));
return $html;
}
Prosim o radu, resp. navedeni spravnym smerem. Dekuji.