Dynamické snippety a jejich překreslování
- JaxP
- Člen | 62
Mějme šablonu kde pomocí $item
a related()
vytahujeme řádky pomocí cizího klíče
<div n:snippet=rowsContainer>
<div n:foreach="$item->related('rows')->fetchAll() as $row" n:snippet="row-{$row->id}">
{include 'tiles/'.$row->template->filename.'.latte', 'admin' => true, 'row' => $row}
</div>
</div>
A mějme k tomu připravený handle
public function handleDeleteBlock($id)
{
// block je dítě row, obsažen v includu
$block = /* vytažení bloku */;
$block->delete();
$this->redrawControl('rowsContainer');
}
Problém:
Po následném překreslení je $item
(původně dosazen do
template v renderDetail($id)
) roven false
.
Jak zařídit překreslení tak, aby $item
zůstal a vykreslil se
pouze nově daný řádek pro $row
v kterém jsme smazali
$block
?
V opačném případě (přidávání bloku) je vše OK.
public function handleAddBlock($row_id)
{
$this->blocksModel->save($values);
$this->redrawControl('rowsContainer');
} //$item zůstane
Děkuji za rady
Editoval JaxP (9. 4. 2018 16:07)