Aktivování „komponent“ z vypsaného článku

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

Dobrý den všem,

dnes mě napadla taková věc, kterou se pokouším vyřešit, ale ne a ne přijít na správný způsob. Proto bych se rád zeptal na Váš nároz na tuto problematiku.

Př.: Píšu článek (využívám TinyMCE, což je jedno) a chci kdekoli v článku vyvolat komponentu ‚Galerie‘, jak toho docílit, tedy co je vhodné uvést v článku a jak to zpracovat na straně serveru, aby se galerie zobrazila?

uestla
Backer | 799
+
0
-

Teoreticky bys mohl výstup z editoru prohnat přes Latté, čili {control gallery} by se pokusilo vykreslit komponentu gallery. Ošajslich je to hlavně proto, když klient napíše něco do složených závorek a rozbije si tak web…

Možná obrana je zvolení jiné Latte syntaxe (např. zdvojení závorek, které už se v normálním textu tak často nepíše).

Nějak takto:

$template = $control->createTemplate('Nette\Templating\Template');
$template->setSource( $output );

$latte = new Nette\Latte\Engine();
$latte->parser->defaultSyntax = 'double';

$template->registerFilter($latte);
$s = (string) $template;

EDIT: tohle zaregistruje Latte filter dvakrát a nejspíš vyhodí výjimku. Nevím, jak řešit :-(

Editoval uestla (7. 5. 2012 19:55)

Gustav
Člen | 16
+
0
-

Každopádně to vypadá dobře, jdu to vyzkoušet a dám vědět.

Edit: Tak to funguje bezvadně. Díky.

Editoval Gustav (7. 5. 2012 21:04)