nette 2.4. předávání dat do import/include bloků
- tatyalien
- Člen | 239
Ahoj,
dříve mě fungovalo, že jsem si v šabloně definoval block „tableLink“
a tento blok jsem mohl ještě v dalších šablonách „upravit“:
šablona „universalTable.latte“
{define #universalTable $tableId, $columns, $columnsButton, $data, $filterNameBasic, $hash, $help, $columnsSettings}
....
<div class="clearfix" style="margin-bottom: 20px;">
<div class="row">
<div class="col-sm-6 col-md-6">
{block tableLink}{/block}
</div>
</div>
</div>
...
šablona „table.latte“:
{import 'universalTable.latte'}
{include #universalTable 'deda', $columns, $columnsButton, $data, $filterNameBasic, $hash, $help, $columnsSettings}
{define tableLink}
{* případná změna bloku *}
{/define}
a Default.latte pro presenter:
{block content}
<div class="container">
{include '../../../../templates/universal/table.latte'}
{define tableLink}
<a href="{link insert}" class="btn btn-default">Vytvořit údaj</a>
{/define}
</div>
{/block}
Toto mě zajistilo, že v Default.latte šlo ještě dodat údaje do bloku tableLink případné „odkazy“. Nyní se ale toto „dodání“ neprovede. Dá se to nějak obejít?
- tatyalien
- Člen | 239
Zatím jsem jen rozjel to, že musím v default.latte:
{import '../../../../templates/universal/table.latte'}
{include #universalTable 'deda', $columns, $columnsButton, $data, $filterNameBasic, $hash, $help, $columnsSettings}
{define tableLink}
bbbb
{/define}
ale to pozbývá smysl v tom, že musím si jen importovat šablonu a pak volat případně vše znovu :(
Editoval tatyalien (7. 6. 2017 8:12)
- tatyalien
- Člen | 239
Tak jsem trochu pokročil:
{import '../../../../templates/universal/table.latte'}
{include #universalTable 'deda', $columns, $columnsButton, $data, $filterNameBasic, $hash, $help, $columnsSettings}
{define tableLink}
bbbb
{/define}
můžu vyměnit za:
{include '../../../../templates/universal/table.latte', columns=>$columns, columnsButton=>$columnsButton, data=>$data, filterNameBasic=>$filterNameBasic, hash=>$hash, help=>$help, columnsSettings=>$columnsSettings}
kde můžu definovat předané proměnné aby se použili v includované šabloně.
Ještě mě ale zbývá to, že pokud bych chtěl změnit něco v includované šabloně v definovaném bloku, tak dříve šlo hned po includeblok definovat znovu blok a „přepsat“ ho. Zkoušel jsem do include vkládat i název bloku, ale to mě nesežralo.
{include '../../../../templates/universal/table.latte', #tableLink,...}