Ako includovat sablonu v premennej?

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

Mam sablonu nie v subore ale v premennej, ako ju mam jednoducho includovat do sablony akcie?

Filip Procházka
Moderator | 4668
+
0
-

https://componette.org/search/?… nezapomeň si přečíst komentář ;)

public function renderDefault()
{
	$template = new StringTemplate();
	// přiřazení presenteru apod ...

	$this->template = $template;
}

Editoval HosipLan (15. 12. 2010 12:40)

VeeTee
Člen | 6
+
0
-

Myslel som to trochu inak

mam normalnu sablonu akcie a v nej potrebujem includnut premennu, ktora sa prelozi ako block

nieco ako

$linka = '<a href="{link default}">';

a v sablone nieco na typ

{!$linka}
{block}{!$linka}{/block}
mi nefunguje - vypise mi to <a href="{link default}">
natrim
Člen | 73
+
0
-

v presenteru
$linka = Html::el('a')->href($this->link('default',array('id'=>1)))->title('Titulek')->setText('text odkazu');

a v sablone {$linka}

VeeTee
Člen | 6
+
0
-

Ok tak inak, mam bloky sablony v db, taham 10kB textu kde su desiatky liniek spolu s html a rad by som v nej mal aj cykly foreach na zobrazovanie obrazkov.

Nie je to ani CELA sablona – potrebujem ju vlozit ako kus divu podla okolnosti, a linka bol len priklad – s jednou linkou by som problem nemal – potrebujem interpretovat alebo includnut premennu ako blok Latte sablony, ale v dokumentacii to akosi neviem najst…

natrim
Člen | 73
+
0
-

na to použij onu již zminovanou StringTemplate

<?php
$template1 = new StringTemplate();
$template1->presenter = Environment::getApplication()->getPresenter();
$template1->registerFilter(new LatteFilter);
$template1->content = $neconaprzdb;

$this->template->blok1 = $template1;
?>

a v šabloně {include $blok1}