1.1 KiB
Inheritance algorithm
Variant #1. Sunny.
| level.2.tpl | b1 | add new block | $tpl->block['b1'] = $content;
| level.2.tpl | b1 | rewrite block | $tpl->block['b1'] = $content;
| level.1.tpl | b1 | skip because block exists | if(!isset($tpl->block['b1'])) $tpl->block['b1'] = $content;
| use.tpl | b1 | skip because block exists | if(!isset($tpl->block['b1'])) $tpl->block['b1'] = $content;
| use.tpl | b2 | add new block | $tpl->block['b2'] = $content;
| level.1.tpl | b2 | rewrite block | $tpl->block['b2'] = $content;
| parent.tpl | b1 | get block from stack
| parent.tpl | b2 | get block from stack
| parent.tpl | b3 | get own block
------Result--------
| level.2.tpl | b1 |
| level.1.tpl | b2 |
Variant #2. Сloudy.
| level.2.tpl | b1 | add new block | level.1.tpl | b1 | skip because block exists | use.tpl | b1 | skip because block exists | use.tpl | b2 | add new block | level.1.tpl | b2 | rewrite block | $parent | b1 | dynamic extend ------Result-------- | level.2.tpl | b1 | | level.1.tpl | b2 |
Variant #3. Rain.
Variant #4. Tornado.