Automaticke dedeni sablon
- arron
- Člen | 464
Prosim o radu, jak nastavit sablone (konkretne sablone controlu), aby byla
zdedena od jine, aniz bych musel predka nastavovat pres makro
{extends ...}
? Zkousel jsem nastavit
$template->_extends
(coz jsem tak trochu vycetl ze zdrojaku, ale
nejsem si tim moc jisty;-)), ale funguje to velmi podivne…
- arron
- Člen | 464
bojovyletoun napsal(a):
To jsem taky zkousel, vysledek je stejny:-)
Jan Tvrdík napsal(a):
Nechtel jsem to tu rozebirat hned na zacatku pro pripad, ze nekdo prijde s tim, ze o delam blbe a ze se to dela jinak, protoze to chovani povazuju zatim spise za bug.
Mam sablonu:
<div class="control" id="{$control->name}">
{include #controlContent}
</div>
V createTemplate
v BaseControlu nastavim
$template->_extends
na prislusnou sablonu. Ocekavane chovani je,
ze kdyz v nejakem zdedenem controlu do sablony nevlozim blok
#controlContent
, tak to vychodi vyjimku, ze dany blok neexistuje.
Chovani je ale takove, ze pokud blok #controlContent
neuvedu, tak
vubec nedojde ke zdedeni sablony vyse (overeno z prelozene sablony do php).
Pokud blok uvedu, tak ke zdedeni normalne dojde a obsah controlu je uzavren
v prislusnem divu.
Kdyz jsem nad tim tak premylel, tak by to mozna stalo za nejaky feature request, aby v sablone na to byla nejaka hezka metoda:-)